17 #include <boost/signal.hpp>
19 #include <matrix/vlVector.h>
20 #include <matrix/vlTaitBryan.h>
26 class DtModelInstance;
27 class DtModelDefinition;
28 struct DtLoaderHandle;
34 template<
typename InputIterator>
70 virtual void setModelDefinition(
const std::string& str);
75 virtual void saveModelToFile(
const std::string& filename);
89 unsigned int transformSize()
const;
92 virtual void setPosition(
int vtx,
const DtVector& position );
95 virtual void removePosition(
int vtx );
99 const DtVector& position(
int vtx = 0)
const;
103 const DtTaitBryan& orientation(
int vtx = 0)
const;
106 virtual void setOrientation(
int vtx,
const DtTaitBryan& orientation );
109 virtual void enableColorBlending(
bool b );
112 virtual void setBlendColor(
float r,
float g,
float b,
float a );
115 virtual void getBlendColor(
float&
r,
float&
g,
float&
b,
float&
a);
118 virtual bool colorBlendingEnabled()
const;
121 virtual void setColor(
float r,
float g,
float b,
float a);
125 virtual void enableLighting(
bool l );
128 virtual int modelSet()
const;
131 const DtVector& boundingBoxExtents()
const;
134 void getBoundingBoxExtents(
double&
x,
double&
y,
double&
z)
const;
137 const DtVector& boundingBoxCenter()
const;
140 virtual void getBoundingBoxCenter(
double&
x,
double&
y,
double&
z)
const;
143 virtual void getBoundingBoxComponents( DtVector& minimum, DtVector& maximum );
147 void setContributesToBound(
bool trueOrFalse );
151 bool contributesToBound()
const;
157 int visualizerType()
const;
177 virtual void setVisible(
bool isVisible);
183 virtual bool visible()
const;
189 virtual void addedToSceneObjectAsProp(
const DtUniqueID& sceneObj );
193 virtual void addedToSceneObject(
const DtUniqueID& sceneObj,
int modelSet,
194 int visualizerType );
202 virtual void removedFromSceneObject();
206 virtual void setIsSupportModel(
bool isSupport) = 0;
209 virtual void setSolid(
bool isSolid);
212 virtual bool isProp();
240 virtual bool isActivelyBackgroundLoading();
249 virtual void addToScene(
const DtUniqueID& sceneObjectId,
250 int modelSet,
int visualizerType ) = 0;
257 virtual void removeFromScene() = 0;
260 virtual void initializeModelInstance();
269 virtual void waitAndClearLoadHandle();
271 virtual void removedFromLoadQueue();
273 virtual void setDoneBackgroundLoading();
275 virtual void setActivelyBackgroundLoading();
303 void deleteModelInstance();
316 float myBlendColor[4];