- Cal3D 0.9 API Reference -

Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound 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 CalPhysique;
00028 class CalSpringSystem;
00029 class CalRenderer;
00030 class CalMesh;
00031 
00032 //****************************************************************************//
00033 // Class declaration                                                          //
00034 //****************************************************************************//
00035 
00036  /*****************************************************************************/
00040 class CAL3D_API CalModel
00041 {
00042 // member variables
00043 protected:
00044   CalCoreModel *m_pCoreModel;
00045   CalSkeleton *m_pSkeleton;
00046   CalMixer *m_pMixer;
00047   CalPhysique *m_pPhysique;
00048   CalSpringSystem *m_pSpringSystem;
00049   CalRenderer *m_pRenderer;
00050   Cal::UserData m_userData;
00051   std::vector<CalMesh *> m_vectorMesh;
00052 
00053 // constructors/destructor
00054 public: 
00055   CalModel();
00056   virtual ~CalModel();
00057 
00058 // member functions
00059 public:
00060   bool attachMesh(int coreMeshId);
00061   bool create(CalCoreModel *pCoreModel);
00062   void destroy();
00063   bool detachMesh(int coreMeshId);
00064   CalCoreModel *getCoreModel();
00065   CalMesh *getMesh(int coreMeshId);
00066   CalMixer *getMixer();
00067   CalPhysique *getPhysique();
00068   CalRenderer *getRenderer();
00069   CalSkeleton *getSkeleton();
00070   CalSpringSystem *getSpringSystem();
00071   Cal::UserData getUserData();
00072   std::vector<CalMesh *>& getVectorMesh();
00073   void setLodLevel(float lodLevel);
00074   void setMaterialSet(int setId);
00075   void setUserData(Cal::UserData userData);
00076   void update(float deltaTime);
00077   void disableInternalData();
00078 };
00079 
00080 #endif
00081 
00082 //****************************************************************************//

Generated at Sun Oct 12 18:38:47 2003 by The Cal3D Team with doxygen 1.2.14 © 1997-2001 Dimitri van Heesch