14 #include <matrix/vlVector.h>
15 #include <matrix/vlTaitBryan.h>
16 #include <boost/signals.hpp>
25 class DtSceneObjectUpdater;
68 return myKey == rec.
model;
78 ModelSet_Unspecified = -1,
80 ModelSet_3DColorized = 1,
92 void addModel(
DtModel* model,
int visualizerType );
95 void removeModel(
DtModel* model );
102 void setPosition(
int vtx,
const DtVector& position );
105 void addPosition(
int vtx,
const DtVector& position );
108 void getPosition(
int vtx,
DtVector& position )
const;
113 void setOffset(
const DtVector& offset );
116 void getOffset(
DtVector& offset )
const;
119 void setOrientation(
int vtx,
const DtTaitBryan& orientation );
123 void setTopographicOrientation(
int vtx,
124 const DtTaitBryan& topoOrientation );
127 void getOrientation(
int vtx, DtTaitBryan& orientation )
const;
131 void getTopographicOrientation(
int vtx, DtTaitBryan& orientation )
const;
134 void getOrientation(
int vtx,
DtQuat& orientation )
const;
137 void setColor(
float r,
float g,
float b,
float a);
141 void setModelSet(
int modelSet );
144 int modelSet()
const;
148 void setIsProp(
bool isProp );
154 void setIsSupportObject(
bool b );
157 bool isSupportObject();
160 void setSolid(
bool b );
163 bool isSolid()
const;
175 const ModelList& models()
const;
181 const TransformList& transforms()
const;
184 virtual void removePosition(
int);
188 void setBoundingBoxSize(
double minX,
double maxX,
189 double minY,
double maxY,
double minZ,
double maxZ);
192 const DtVector& boundingBoxExtents()
const;
195 void getBoundingBoxExtents(
double& x,
double& y,
double& z)
const;
198 const DtVector& boundingBoxCenter()
const;
201 void getBoundingBoxCenter(
double& x,
double& y,
double& z)
const;
204 double boundingRadius()
const;
209 void setVisible(
bool visible );
215 bool isVisible()
const;
244 void initializeModel(
DtModel* modelInstanceOwner );
247 void modelChanged(
DtModel* model );
252 bool modelVisibilityRequested(
DtModel* model,
bool visible);
255 void resetModelTransforms();
259 void updateBoundingBoxViaContents();
262 void calculateBoundingRadius();