Home | nevrax.com |
|
lod_character_builder.hGo to the documentation of this file.00001 00007 /* Copyright, 2000-2002 Nevrax Ltd. 00008 * 00009 * This file is part of NEVRAX NEL. 00010 * NEVRAX NEL is free software; you can redistribute it and/or modify 00011 * it under the terms of the GNU General Public License as published by 00012 * the Free Software Foundation; either version 2, or (at your option) 00013 * any later version. 00014 00015 * NEVRAX NEL is distributed in the hope that it will be useful, but 00016 * WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00018 * General Public License for more details. 00019 00020 * You should have received a copy of the GNU General Public License 00021 * along with NEVRAX NEL; see the file COPYING. If not, write to the 00022 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 00023 * MA 02111-1307, USA. 00024 */ 00025 00026 #ifndef NL_LOD_CHARACTER_BUILDER_H 00027 #define NL_LOD_CHARACTER_BUILDER_H 00028 00029 #include "nel/misc/types_nl.h" 00030 #include "3d/lod_character_shape.h" 00031 00032 00033 namespace NL3D 00034 { 00035 00036 00037 class CSkeletonShape; 00038 class CAnimation; 00039 00040 00041 // *************************************************************************** 00049 class CLodCharacterBuilder 00050 { 00051 public: 00052 00054 CLodCharacterBuilder(); 00055 ~CLodCharacterBuilder(); 00056 00065 void setShape(const std::string &name, CSkeletonShape *skeletonShape, CLodCharacterShapeBuild *lodBuild); 00066 00072 void addAnim(const char *animName, CAnimation *animation, float frameRate); 00073 00075 const CLodCharacterShape &getLodShape() const {return _LodCharacterShape;} 00076 00077 00078 // ***************************** 00079 private: 00080 CLodCharacterShape _LodCharacterShape; 00081 00082 NLMISC::CSmartPtr<CSkeletonShape> _SkeletonShape; 00083 CLodCharacterShapeBuild *_LodBuild; 00084 std::vector<uint> _BoneRemap; 00085 00086 // A Tmp Scene, builded at setShape/dtor. 00087 CScene *_TmpScene; 00088 00089 // apply the skin, from _LodBuild, into dstVertices array 00090 void applySkin(CSkeletonModel *skeleton, CVector *dstVertices); 00091 }; 00092 00093 00094 } // NL3D 00095 00096 00097 #endif // NL_LOD_CHARACTER_BUILDER_H 00098 00099 /* End of lod_character_builder.h */ |