// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
// Copyright (C) 2015 Winch Gate Property Limited
// Author: Jan Boon <jan.boon@kaetemi.be>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifndef NL_SCENE_META_H
#define NL_SCENE_META_H
#include<nel/misc/types_nl.h>
#include<nel/misc/sstring.h>
#include<nel/misc/smart_ptr.h>
#include<nel/3d/material.h>
namespaceNLMISC{
classIStream;
}
namespaceNL3D{
classCMaterial;
}
enumTMesh
{
TMeshDisabled=0,
TMeshShape=1,
TMeshCollisionInt=2,
TMeshCollisionExt=3,
TMeshZone=4,
TMeshPortal=5,
TMeshCluster=6,
};
enumTBone
{
TBoneAuto=0,
TBoneForce=1,// Force this node to be part of a skeleton
TBoneRoot=2,// Make this node the skeleton root, it will be exported using the scene name. There can only be one (editor should keep track and disable)
};
structCNodeMeta
{
CNodeMeta();
boolAddToIG;// Add this node to an instance group
TMeshExportMesh;
TBoneExportBone;
std::stringInstanceShape;
std::stringInstanceName;
std::stringInstanceGroupName;
boolAutoAnim;
// std::vector<NLMISC::CSString> Materials; // In case there's an issue with nameless materials in some format... Map to material entirely in the meta editor.
voidserial(NLMISC::IStream&s);
};
enumTSkel
{
TSkelLocal=0,// Export smallest skeleton possible from connected bones
TSkelRoot=1,// Export skeleton from a direct child node in the scene root node
TSkelFull=2,// Include all connected child nodes in the skeleton