- 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
19class CalCoreModel;
20class CalSkeleton;
22class CalMixer;
24class CalPhysique;
25class CalSpringSystem;
26class CalRenderer;
27class CalMesh;
28
29
31{
32public:
33 CalModel(CalCoreModel *pCoreModel);
34 ~CalModel();
35
36 bool attachMesh(int coreMeshId);
37 bool detachMesh(int coreMeshId);
39 const CalCoreModel *getCoreModel() const;
40 CalMesh *getMesh(int coreMeshId);
41 const CalMesh *getMesh(int coreMeshId) const;
43 const CalMixer *getMixer() const;
49 const CalPhysique *getPhysique() const;
50 void setPhysique( CalPhysique *physique );
52 const CalRenderer *getRenderer() const;
54 const CalSkeleton *getSkeleton() const;
56 const CalSpringSystem *getSpringSystem() const;
57 CalBoundingBox & getBoundingBox(bool precision = false);
58 const Cal::UserData getUserData() const;
59 std::vector<CalMesh *>& getVectorMesh();
60 void setLodLevel(float lodLevel);
61 void setMaterialSet(int setId);
62 void setUserData(Cal::UserData userData);
63 void update(float deltaTime);
65
66private:
67 CalCoreModel *m_pCoreModel;
68 CalSkeleton *m_pSkeleton;
69 CalAbstractMixer *m_pMixer;
70 CalMorphTargetMixer *m_pMorphTargetMixer;
71 CalPhysique *m_pPhysique;
72 CalSpringSystem *m_pSpringSystem;
73 CalRenderer *m_pRenderer;
74 Cal::UserData m_userData;
75 std::vector<CalMesh *> m_vectorMesh;
76 CalBoundingBox m_boundingBox;
77};
78
79#endif
80
81//****************************************************************************//
CalAbstractMixer defines the API that CalModel relies on for blending and scheduling animations.
Definition mixer.h:141
The bounding box class.
Definition vector.h:223
Definition coremodel.h:26
Definition mesh.h:24
Definition mixer.h:196
void setAbstractMixer(CalAbstractMixer *pMixer)
Sets the mixer to a CalAbstractMixer subclass instance.
Definition model.cpp:377
void setPhysique(CalPhysique *physique)
Sets the physique.
Definition model.cpp:449
void disableInternalData()
Disable internal data (and thus springs system)
Definition model.cpp:723
CalRenderer * getRenderer()
Provides access to the renderer.
Definition model.cpp:465
CalCoreModel * getCoreModel()
Provides access to the core model.
Definition model.cpp:199
CalPhysique * getPhysique()
Provides access to the physique.
Definition model.cpp:422
void setMaterialSet(int setId)
Sets the material set.
Definition model.cpp:676
void update(float deltaTime)
Updates the model instance.
Definition model.cpp:708
CalMesh * getMesh(int coreMeshId)
Provides access to an attached mesh.
Definition model.cpp:232
bool detachMesh(int coreMeshId)
Detaches a mesh.
Definition model.cpp:151
bool attachMesh(int coreMeshId)
Attachs a mesh.
Definition model.cpp:96
const CalAbstractMixer * getAbstractMixer() const
Returns the mixer.
Definition model.cpp:349
CalModel(CalCoreModel *pCoreModel)
Constructs the model instance.
Definition model.cpp:40
CalSpringSystem * getSpringSystem()
Provides access to the spring system.
Definition model.cpp:525
CalSkeleton * getSkeleton()
Provides access to the skeleton.
Definition model.cpp:495
CalMorphTargetMixer * getMorphTargetMixer()
Provides access to the morph target mixer.
Definition model.cpp:392
CalBoundingBox & getBoundingBox(bool precision=false)
Returns the global bounding box of the model.
Definition model.cpp:557
CalMixer * getMixer()
Returns the mixer.
Definition model.cpp:305
void setUserData(Cal::UserData userData)
Stores user data.
Definition model.cpp:695
const Cal::UserData getUserData() const
Provides access to the user data.
Definition model.cpp:630
std::vector< CalMesh * > & getVectorMesh()
Returns the mesh vector.
Definition model.cpp:644
void setLodLevel(float lodLevel)
Sets the LOD level.
Definition model.cpp:657
Definition morphtargetmixer.h:24
Definition physique.h:23
Definition renderer.h:23
Definition skeleton.h:21
The spring system class.
Definition springsystem.h:37
Derive from noncopyable to mark your class as not having a copy constructor or operator=.
Definition global.h:82

Generated by The Cal3D Team with Doxygen 1.13.1