18 #include <matrix/vlVector.h>
19 #include <matrix/vlTaitBryan.h>
25 class DtModelInstance;
26 class DtModelDefinition;
27 struct DtLoaderHandle;
33 template<
typename InputIterator>
69 virtual void setModelDefinition(
const std::string& str);
74 virtual void saveModelToFile(
const std::string& filename);
88 unsigned int transformSize()
const;
91 virtual void setPosition(
int vtx,
const DtVector& position);
95 virtual const DtVector& position(
int vtx = 0)
const;
98 virtual void removePosition(
int vtx);
103 virtual void setPositionOffset(
const DtVector& positionOffset);
106 virtual const DtVector& positionOffset()
const;
109 virtual void setOrientation(
int vtx,
const DtTaitBryan& orientation );
112 virtual void setPositionAndOrientation(
int vtx,
const DtVector& positionOffset,
const DtTaitBryan& orientation);
116 virtual const DtTaitBryan& orientation(
int vtx = 0)
const;
121 virtual void setOrientationOffset(
const DtTaitBryan& orientationOffset);
124 virtual const DtTaitBryan& orientationOffset()
const;
127 virtual void enableColorBlending(
bool b );
130 virtual void setBlendColor(
float r,
float g,
float b,
float a );
133 virtual void getBlendColor(
float&
r,
float&
g,
float&
b,
float&
a);
136 virtual bool colorBlendingEnabled()
const;
139 virtual void setColor(
float r,
float g,
float b,
float a);
143 virtual void enableLighting(
bool l );
146 virtual int modelSet()
const;
149 const DtVector& boundingBoxExtents()
const;
152 void getBoundingBoxExtents(
double&
x,
double&
y,
double&
z)
const;
155 const DtVector& boundingBoxCenter()
const;
158 virtual void getBoundingBoxCenter(
double&
x,
double&
y,
double&
z)
const;
161 virtual void getBoundingBoxComponents( DtVector& minimum, DtVector& maximum );
165 void setContributesToBound(
bool trueOrFalse );
169 bool contributesToBound()
const;
175 int visualizerType()
const;
195 virtual void setVisible(
bool isVisible);
201 virtual bool visible()
const;
207 virtual void addedToSceneObjectAsProp(
const DtUniqueID& sceneObj );
211 virtual void addedToSceneObject(
const DtUniqueID& sceneObj,
int modelSet,
212 int visualizerType );
220 virtual void removedFromSceneObject();
224 virtual void setIsSupportModel(
bool isSupport) = 0;
227 virtual void setSolid(
bool isSolid);
230 virtual bool isProp();
258 virtual bool isActivelyBackgroundLoading();
265 virtual void updateMinLastFrameDistance(
float distance);
268 virtual void resetLastFrameDistance();
271 virtual float minLastFrameDistance()
const;
276 virtual void addToScene(
const DtUniqueID& sceneObjectId,
277 int modelSet,
int visualizerType ) = 0;
284 virtual void removeFromScene() = 0;
287 virtual void initializeModelInstance();
296 virtual void waitAndClearLoadHandle();
298 virtual void removedFromLoadQueue();
300 virtual void setDoneBackgroundLoading();
302 virtual void setActivelyBackgroundLoading();
335 void deleteModelInstance();
348 float myBlendColor[4];