17 #include <boost/signal.hpp>
19 #include <matrix/vlVector.h>
20 #include <matrix/vlTaitBryan.h>
26 class DtModelInstance;
32 template<
typename InputIterator>
65 virtual void setModelDefinition(
const std::string& str);
68 virtual void saveModelToFile(
const std::string& filename);
82 unsigned int transformSize()
const;
85 virtual void setPosition(
int vtx,
const DtVector& position );
88 virtual void removePosition(
int vtx );
92 const DtVector& position(
int vtx = 0)
const;
96 const DtTaitBryan& orientation(
int vtx = 0)
const;
99 virtual void setOrientation(
int vtx,
const DtTaitBryan& orientation );
102 virtual void enableColorBlending(
bool b );
105 virtual void setBlendColor(
float r,
float g,
float b,
float a );
108 virtual void getBlendColor(
float& r,
float& g,
float& b,
float& a);
111 virtual bool colorBlendingEnabled()
const;
114 virtual void setColor(
float r,
float g,
float b,
float a);
118 virtual void enableLighting(
bool l );
121 virtual int modelSet()
const;
124 const DtVector& boundingBoxExtents()
const;
127 void getBoundingBoxExtents(
double&
x,
double&
y,
double&
z)
const;
130 const DtVector& boundingBoxCenter()
const;
133 virtual void getBoundingBoxCenter(
double& x,
double& y,
double& z)
const;
136 virtual void getBoundingBoxComponents( DtVector& minimum, DtVector& maximum );
140 void setContributesToBound(
bool trueOrFalse );
144 bool contributesToBound()
const;
150 int visualizerType()
const;
167 virtual void setVisible(
bool isVisible);
173 virtual bool visible()
const;
179 virtual void addedToSceneObjectAsProp(
const DtUniqueID& sceneObj );
183 virtual void addedToSceneObject(
const DtUniqueID& sceneObj,
int modelSet,
184 int visualizerType );
192 virtual void removedFromSceneObject();
196 virtual void setIsSupportModel(
bool isSupport) = 0;
199 virtual void setSolid(
bool isSolid);
202 virtual bool isProp();
221 virtual void addToScene(
const DtUniqueID& sceneObjectId,
222 int modelSet,
int visualizerType ) = 0;
229 virtual void removeFromScene() = 0;
232 virtual void initializeModelInstance();
256 void deleteModelInstance();
269 float myBlendColor[4];