- Cal3D 0.11 API Reference -

model.h

00001 //****************************************************************************//
00002 // model.h                                                                    //
00003 // Copyright (C) 2001, 2002 Bruno 'Beosil' Heidelberger                       //
00004 //****************************************************************************//
00005 // This library is free software; you can redistribute it and/or modify it    //
00006 // under the terms of the GNU Lesser General Public License as published by   //
00007 // the Free Software Foundation; either version 2.1 of the License, or (at    //
00008 // your option) any later version.                                            //
00009 //****************************************************************************//
00010 
00011 #ifndef CAL_MODEL_H
00012 #define CAL_MODEL_H
00013 
00014 
00015 #include "cal3d/global.h"
00016 #include "cal3d/vector.h"
00017 
00018 
00019 class CalCoreModel;
00020 class CalSkeleton;
00021 class CalAbstractMixer;
00022 class CalMixer;
00023 class CalMorphTargetMixer;
00024 class CalPhysique;
00025 class CalSpringSystem;
00026 class CalRenderer;
00027 class CalMesh;
00028 
00029 
00030 class CAL3D_API CalModel : cal3d::noncopyable
00031 {
00032 public: 
00033   CalModel(CalCoreModel* pCoreModel);
00034   ~CalModel();
00035 
00036   bool attachMesh(int coreMeshId);
00037   bool detachMesh(int coreMeshId);
00038   CalCoreModel *getCoreModel() const;
00039   CalMesh *getMesh(int coreMeshId) const;
00040   CalMixer *getMixer() const;
00041   CalAbstractMixer *getAbstractMixer() const;
00042   void setAbstractMixer(CalAbstractMixer* pMixer);
00043   CalMorphTargetMixer *getMorphTargetMixer() const;
00044   CalPhysique *getPhysique() const;
00045   CalRenderer *getRenderer() const;
00046   CalSkeleton *getSkeleton() const;
00047   CalSpringSystem *getSpringSystem() const;
00048   CalBoundingBox & getBoundingBox(bool precision = false);
00049   Cal::UserData getUserData() const;
00050   std::vector<CalMesh *>& getVectorMesh();
00051   void setLodLevel(float lodLevel);
00052   void setMaterialSet(int setId);
00053   void setUserData(Cal::UserData userData);
00054   void update(float deltaTime);
00055   void disableInternalData();
00056 
00057 private:
00058   CalCoreModel *m_pCoreModel;
00059   CalSkeleton *m_pSkeleton;
00060   CalAbstractMixer *m_pMixer;
00061   CalMorphTargetMixer *m_pMorphTargetMixer;
00062   CalPhysique *m_pPhysique;
00063   CalSpringSystem *m_pSpringSystem;
00064   CalRenderer *m_pRenderer;
00065   Cal::UserData m_userData;
00066   std::vector<CalMesh *> m_vectorMesh;
00067   CalBoundingBox m_boundingBox;
00068 };
00069 
00070 #endif
00071 
00072 //****************************************************************************//

Generated at Thu Jun 29 19:03:59 2006 by The Cal3D Team with Doxygen 1.4.6