- Cal3D 0.11 API Reference -

model.h
1 //****************************************************************************//
2 // model.h //
3 // Copyright (C) 2001, 2002 Bruno 'Beosil' Heidelberger //
4 //****************************************************************************//
5 // This library is free software; you can redistribute it and/or modify it //
6 // under the terms of the GNU Lesser General Public License as published by //
7 // the Free Software Foundation; either version 2.1 of the License, or (at //
8 // your option) any later version. //
9 //****************************************************************************//
10 
11 #ifndef CAL_MODEL_H
12 #define CAL_MODEL_H
13 
14 
15 #include "cal3d/global.h"
16 #include "cal3d/vector.h"
17 
18 
19 class CalCoreModel;
20 class CalSkeleton;
21 class CalAbstractMixer;
22 class CalMixer;
24 class CalPhysique;
25 class CalSpringSystem;
26 class CalRenderer;
27 class CalMesh;
28 
29 
30 class CAL3D_API CalModel : cal3d::noncopyable
31 {
32 public:
33  CalModel(CalCoreModel* pCoreModel);
34  ~CalModel();
35 
36  bool attachMesh(int coreMeshId);
37  bool detachMesh(int coreMeshId);
38  CalCoreModel *getCoreModel() const;
39  CalMesh *getMesh(int coreMeshId) const;
40  CalMixer *getMixer() const;
41  CalAbstractMixer *getAbstractMixer() const;
42  void setAbstractMixer(CalAbstractMixer* pMixer);
43  CalMorphTargetMixer *getMorphTargetMixer() const;
44  CalPhysique *getPhysique() const;
45  CalRenderer *getRenderer() const;
46  CalSkeleton *getSkeleton() const;
47  CalSpringSystem *getSpringSystem() const;
48  CalBoundingBox & getBoundingBox(bool precision = false);
49  Cal::UserData getUserData() const;
50  std::vector<CalMesh *>& getVectorMesh();
51  void setLodLevel(float lodLevel);
52  void setMaterialSet(int setId);
53  void setUserData(Cal::UserData userData);
54  void update(float deltaTime);
55  void disableInternalData();
56 
57 private:
58  CalCoreModel *m_pCoreModel;
59  CalSkeleton *m_pSkeleton;
60  CalAbstractMixer *m_pMixer;
61  CalMorphTargetMixer *m_pMorphTargetMixer;
62  CalPhysique *m_pPhysique;
63  CalSpringSystem *m_pSpringSystem;
64  CalRenderer *m_pRenderer;
65  Cal::UserData m_userData;
66  std::vector<CalMesh *> m_vectorMesh;
67  CalBoundingBox m_boundingBox;
68 };
69 
70 #endif
71 
72 //****************************************************************************//
Definition: coremodel.h:25
Definition: mesh.h:23
Definition: mixer.h:152
Derive from noncopyable to mark your class as not having a copy constructor or operator=.
Definition: global.h:72
Definition: physique.h:22
The bounding box class.
Definition: vector.h:220
Definition: morphtargetmixer.h:21
CalAbstractMixer defines the API that CalModel relies on for blending and scheduling animations...
Definition: mixer.h:97
Definition: skeleton.h:20
The spring system class.
Definition: springsystem.h:36
Definition: renderer.h:22
Definition: model.h:30

Generated at Thu Sep 4 2014 00:32:52 by The Cal3D Team with Doxygen 1.8.7