📄 coremodel.h
字号:
//****************************************************************************//// coremodel.h //// Copyright (C) 2001, 2002 Bruno 'Beosil' Heidelberger ////****************************************************************************//// This library is free software; you can redistribute it and/or modify it //// under the terms of the GNU Lesser General Public License as published by //// the Free Software Foundation; either version 2.1 of the License, or (at //// your option) any later version. ////****************************************************************************//#ifndef CAL_COREMODEL_H#define CAL_COREMODEL_H#include "cal3d/coreanimation.h"#include "cal3d/corematerial.h"#include "cal3d/coremesh.h"#include "cal3d/coreskeleton.h"#include "cal3d/global.h"class CalCoreMorphAnimation;class CAL3D_API CalCoreModel{public: CalCoreModel(const std::string& name); ~CalCoreModel(); Cal::UserData getUserData(); void setUserData(Cal::UserData userData); void scale(float factor); // animations int addCoreAnimation(CalCoreAnimation *pCoreAnimation); CalCoreAnimation *getCoreAnimation(int coreAnimationId); int getCoreAnimationCount(); int loadCoreAnimation(const std::string& strFilename); int loadCoreAnimation(const std::string& strFilename, const std::string& strAnimationName); int unloadCoreAnimation(const std::string& name); int unloadCoreAnimation(int coreAnimationId); bool saveCoreAnimation(const std::string& strFilename, int coreAnimationId); bool addAnimationName(const std::string& strAnimationName, int coreAnimationId); int getCoreAnimationId(const std::string& strAnimationName); // morph animations int addCoreMorphAnimation(CalCoreMorphAnimation *pCoreMorphAnimation); CalCoreMorphAnimation *getCoreMorphAnimation(int coreMorphAnimationId); int getCoreMorphAnimationCount(); // materials int addCoreMaterial(CalCoreMaterial *pCoreMaterial); bool createCoreMaterialThread(int coreMaterialThreadId); CalCoreMaterial *getCoreMaterial(int coreMaterialId); int getCoreMaterialCount(); int getCoreMaterialId(int coreMaterialThreadId, int coreMaterialSetId); int loadCoreMaterial(const std::string& strFilename); int loadCoreMaterial(const std::string& strFilename, const std::string& strMaterialName); int unloadCoreMaterial(const std::string& name); int unloadCoreMaterial(int coreMaterialId); bool saveCoreMaterial(const std::string& strFilename, int coreMaterialId); bool setCoreMaterialId(int coreMaterialThreadId, int coreMaterialSetId, int coreMaterialId); bool addMaterialName(const std::string& strMaterialName, int coreMaterialId); int getCoreMaterialId(const std::string& strMaterialName); // meshes int addCoreMesh(CalCoreMesh *pCoreMesh); CalCoreMesh *getCoreMesh(int coreMeshId); int getCoreMeshCount(); int loadCoreMesh(const std::string& strFilename); int loadCoreMesh(const std::string& strFilename, const std::string& strMeshName); int unloadCoreMesh(const std::string& name); int unloadCoreMesh(int coreMeshId); bool saveCoreMesh(const std::string& strFilename, int coreMeshId); bool addMeshName(const std::string& strMeshName, int coreMeshId); int getCoreMeshId(const std::string& strMeshName); // skeleton CalCoreSkeleton *getCoreSkeleton(); bool loadCoreSkeleton(const std::string& strFilename); bool saveCoreSkeleton(const std::string& strFilename); void setCoreSkeleton(CalCoreSkeleton *pCoreSkeleton); void addBoneName(const std::string& strBoneName, int boneId); int getBoneId(const std::string& strBoneName);// member variablesprivate: std::string m_strName; CalCoreSkeletonPtr m_pCoreSkeleton; std::vector<CalCoreAnimationPtr> m_vectorCoreAnimation; std::vector<CalCoreMorphAnimation *> m_vectorCoreMorphAnimation; std::vector<CalCoreMeshPtr> m_vectorCoreMesh; std::vector<CalCoreMaterialPtr> m_vectorCoreMaterial; std::map<int, std::map<int, int> > m_mapmapCoreMaterialThread; Cal::UserData m_userData; std::map<std::string, int> m_animationName; std::map<std::string, int> m_materialName; std::map<std::string, int> m_meshName;};#endif//****************************************************************************//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -