- Cal3D 0.9 API Reference -

Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

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 // Includes                                                                   //
00016 //****************************************************************************//
00017 
00018 #include "cal3d/global.h"
00019 
00020 //****************************************************************************//
00021 // Forward declarations                                                       //
00022 //****************************************************************************//
00023 
00024 class CalCoreModel;
00025 class CalSkeleton;
00026 class CalMixer;
00027 class CalMorphTargetMixer;
00028 class CalPhysique;
00029 class CalSpringSystem;
00030 class CalRenderer;
00031 class CalMesh;
00032 
00033 //****************************************************************************//
00034 // Class declaration                                                          //
00035 //****************************************************************************//
00036 
00037  /*****************************************************************************/
00041 class CAL3D_API CalModel
00042 {
00043 // member variables
00044 protected:
00045   CalCoreModel *m_pCoreModel;
00046   CalSkeleton *m_pSkeleton;
00047   CalMixer *m_pMixer;
00048   CalMorphTargetMixer *m_pMorphTargetMixer;
00049   CalPhysique *m_pPhysique;
00050   CalSpringSystem *m_pSpringSystem;
00051   CalRenderer *m_pRenderer;
00052   Cal::UserData m_userData;
00053   std::vector<CalMesh *> m_vectorMesh;
00054 
00055 // constructors/destructor
00056 public: 
00057   CalModel();
00058   virtual ~CalModel();
00059 
00060 // member functions
00061 public:
00062   bool attachMesh(int coreMeshId);
00063   bool create(CalCoreModel *pCoreModel);
00064   void destroy();
00065   bool detachMesh(int coreMeshId);
00066   CalCoreModel *getCoreModel();
00067   CalMesh *getMesh(int coreMeshId);
00068   CalMixer *getMixer();
00069   CalMorphTargetMixer *getMorphTargetMixer();
00070   CalPhysique *getPhysique();
00071   CalRenderer *getRenderer();
00072   CalSkeleton *getSkeleton();
00073   CalSpringSystem *getSpringSystem();
00074   Cal::UserData getUserData();
00075   std::vector<CalMesh *>& getVectorMesh();
00076   void setLodLevel(float lodLevel);
00077   void setMaterialSet(int setId);
00078   void setUserData(Cal::UserData userData);
00079   void update(float deltaTime);
00080   void disableInternalData();
00081 };
00082 
00083 #endif
00084 
00085 //****************************************************************************//

Generated at Wed Apr 7 16:57:16 2004 by The Cal3D Team with doxygen 1.3.6 © 1997-2001 Dimitri van Heesch