14 #include <matrix/vlVector.h>
15 #include <matrix/vlTaitBryan.h>
17 #include <boost/signals.hpp>
24 class DtSceneObjectUpdater;
67 return myKey == rec.
model;
77 ModelSet_Unspecified = -1,
79 ModelSet_3DColorized = 1,
91 void addModel(
DtModel* model,
int visualizerType );
94 void removeModel(
DtModel* model );
101 void setPosition(
int vtx,
const DtVector& position );
104 void addPosition(
int vtx,
const DtVector& position );
107 void getPosition(
int vtx,
DtVector& position )
const;
112 void setOffset(
const DtVector& offset );
115 void getOffset(
DtVector& offset )
const;
118 void setOrientation(
int vtx,
const DtTaitBryan& orientation );
122 void setTopographicOrientation(
int vtx,
123 const DtTaitBryan& topoOrientation );
126 void getOrientation(
int vtx, DtTaitBryan& orientation )
const;
130 void getTopographicOrientation(
int vtx, DtTaitBryan& orientation )
const;
133 void getOrientation(
int vtx,
DtQuat& orientation )
const;
136 void setColor(
float r,
float g,
float b,
float a);
140 void setModelSet(
int modelSet );
143 int modelSet()
const;
147 void setIsProp(
bool isProp );
153 void setIsSupportObject(
bool b );
156 bool isSupportObject();
159 void setSolid(
bool b );
162 bool isSolid()
const;
174 const ModelList& models()
const;
180 const TransformList& transforms()
const;
183 virtual void removePosition(
int);
187 void setBoundingBoxSize(
double minX,
double maxX,
188 double minY,
double maxY,
double minZ,
double maxZ);
191 const DtVector& boundingBoxExtents()
const;
194 void getBoundingBoxExtents(
double& x,
double& y,
double& z)
const;
197 const DtVector& boundingBoxCenter()
const;
200 void getBoundingBoxCenter(
double& x,
double& y,
double& z)
const;
203 double boundingRadius()
const;
208 void setVisible(
bool visible );
214 bool isVisible()
const;
243 void initializeModel(
DtModel* modelInstanceOwner );
246 void modelChanged(
DtModel* model );
251 bool modelVisibilityRequested(
DtModel* model,
bool visible);
254 void resetModelTransforms();
258 void updateBoundingBoxViaContents();
261 void calculateBoundingRadius();