19 #include <boost/signal.hpp>
21 #include <matrix/vlVector.h>
22 #include <matrix/vlTaitBryan.h>
28 class DtModelInstance;
34 template<
typename InputIterator>
67 virtual void setModelDefinition(
const std::string& str);
70 virtual void saveModelToFile(
const std::string& filename);
84 unsigned int transformSize()
const;
87 virtual void setPosition(
int vtx,
const DtVector& position );
90 virtual void removePosition(
int vtx );
94 const DtVector& position(
int vtx = 0)
const;
98 const DtTaitBryan& orientation(
int vtx = 0)
const;
101 virtual void setOrientation(
int vtx,
const DtTaitBryan& orientation );
104 virtual void enableColorBlending(
bool b );
107 virtual void setBlendColor(
float r,
float g,
float b,
float a );
110 virtual void getBlendColor(
float& r,
float& g,
float& b,
float& a);
113 virtual bool colorBlendingEnabled()
const;
116 virtual void setColor(
float r,
float g,
float b,
float a);
120 virtual void enableLighting(
bool l );
123 virtual int modelSet()
const;
126 const DtVector& boundingBoxExtents()
const;
129 void getBoundingBoxExtents(
double&
x,
double&
y,
double&
z)
const;
132 const DtVector& boundingBoxCenter()
const;
135 virtual void getBoundingBoxCenter(
double& x,
double& y,
double& z)
const;
138 virtual void getBoundingBoxComponents( DtVector& minimum, DtVector& maximum );
142 void setContributesToBound(
bool trueOrFalse );
146 bool contributesToBound()
const;
152 int visualizerType()
const;
169 virtual void setVisible(
bool isVisible);
175 virtual bool visible()
const;
181 virtual void addedToSceneObjectAsProp(
const DtUniqueID& sceneObj );
185 virtual void addedToSceneObject(
const DtUniqueID& sceneObj,
int modelSet,
186 int visualizerType );
194 virtual void removedFromSceneObject();
198 virtual void setIsSupportModel(
bool isSupport) = 0;
201 virtual void setSolid(
bool isSolid);
220 virtual void addToScene(
const DtUniqueID& sceneObjectId,
221 int modelSet,
int visualizerType ) = 0;
228 virtual void removeFromScene() = 0;
231 virtual void initializeModelInstance();
255 void deleteModelInstance();
269 float myBlendColor[4];