18 #include <matrix/vlVector.h>
19 #include <matrix/vlTaitBryan.h>
25 class DtModelInstance;
26 class DtModelDefinition;
27 struct DtLoaderHandle;
34 template<
typename InputIterator>
35 bool operator()(InputIterator first, InputIterator last)
const
67 DtModelInstance* createModelInstance(
const std::string& modelDefName,
bool realize =
true);
70 virtual void setModelDefinition(
const std::string& str);
75 virtual void saveModelToFile(
const std::string& filename);
79 virtual const std::string& className()
const;
91 unsigned int transformSize()
const;
94 virtual void setPosition(
int vtx,
const DtVector& position);
98 virtual const DtVector& position(
int vtx = 0)
const;
101 virtual void removePosition(
int vtx);
106 virtual void setPositionOffset(
const DtVector& positionOffset);
109 virtual const DtVector& positionOffset()
const;
112 virtual void setOrientation(
int vtx,
const DtTaitBryan& orientation );
115 virtual void setPositionAndOrientation(
int vtx,
const DtVector& positionOffset,
const DtTaitBryan& orientation);
119 virtual const DtTaitBryan& orientation(
int vtx = 0)
const;
124 virtual void setOrientationOffset(
const DtTaitBryan& orientationOffset);
127 virtual const DtTaitBryan& orientationOffset()
const;
130 virtual void enableColorBlending(
bool b );
133 virtual void setBlendColor(
float r,
float g,
float b,
float a );
136 virtual void getBlendColor(
float& r,
float& g,
float& b,
float& a);
139 virtual bool colorBlendingEnabled()
const;
142 virtual void setColor(
float r,
float g,
float b,
float a);
146 virtual void enableLighting(
bool l );
152 const DtVector& boundingBoxExtents()
const;
155 void getBoundingBoxExtents(
double&
x,
double& y,
double&
z)
const;
158 const DtVector& boundingBoxCenter()
const;
161 virtual void getBoundingBoxCenter(
double&
x,
double& y,
double&
z)
const;
164 virtual void getBoundingBoxComponents( DtVector& minimum, DtVector& maximum );
168 void setContributesToBound(
bool trueOrFalse );
172 bool contributesToBound()
const;
178 int visualizerType()
const;
198 virtual void setVisible(
bool isVisible);
204 virtual bool visible()
const;
210 virtual void addedToSceneObjectAsProp(
const DtUniqueID& sceneObj );
215 int visualizerType );
221 virtual void removedFromSceneObject();
225 virtual void setIsSupportModel(
bool isSupport) = 0;
228 virtual void setSolid(
bool isSolid);
231 virtual bool isProp();
259 virtual bool isActivelyBackgroundLoading();
266 virtual void updateMinLastFrameDistance(
float distance);
269 virtual void resetLastFrameDistance();
272 virtual float minLastFrameDistance()
const;
277 virtual void addToScene(
const DtUniqueID& sceneObjectId,
285 virtual void removeFromScene() = 0;
288 virtual void initializeModelInstance();
297 virtual void waitAndClearLoadHandle();
299 virtual void removedFromLoadQueue();
301 virtual void setDoneBackgroundLoading();
303 virtual void setActivelyBackgroundLoading();
342 void deleteModelInstance();
354 float myBlendColor[4];
360 bool myRequireModelInstance =
true;