14 #include <matrix/vlVector.h>
15 #include <matrix/vlTaitBryan.h>
19 #include <boost/unordered_map.hpp>
26 class DtSceneObjectUpdater;
69 return myKey == rec.
model;
79 ModelSet_Unspecified = -1,
81 ModelSet_3DColorized = 1,
93 void addModel(
DtModel* model,
int visualizerType );
96 void removeModel(
DtModel* model );
103 void setPosition(
int vtx,
const DtVector& position );
106 void addPosition(
int vtx,
const DtVector& position );
109 void getPosition(
int vtx,
DtVector& position )
const;
120 void setOrientation(
int vtx,
const DtTaitBryan& orientation );
124 void setTopographicOrientation(
int vtx,
125 const DtTaitBryan& topoOrientation );
128 void getOrientation(
int vtx, DtTaitBryan& orientation )
const;
132 void getTopographicOrientation(
int vtx, DtTaitBryan& orientation )
const;
135 void getOrientation(
int vtx,
DtQuat& orientation )
const;
139 virtual void transformToSceneObjectCoord(
const DtVector& dbCoord,
DtVector& soCoord);
143 virtual void transformToDatabaseCoord(
const DtVector& soCoord,
DtVector& dbCoord);
146 void setColor(
float r,
float g,
float b,
float a);
150 void setModelSet(
int modelSet );
153 int modelSet()
const;
157 void setIsProp(
bool isProp );
163 void setIsSupportObject(
bool b );
166 bool isSupportObject();
169 void setSolid(
bool b );
172 bool isSolid()
const;
184 const ModelList& models()
const;
190 const TransformList& transforms()
const;
193 virtual void removePosition(
int);
197 void setBoundingBoxSize(
double minX,
double maxX,
198 double minY,
double maxY,
double minZ,
double maxZ);
201 const DtVector& boundingBoxExtents()
const;
204 void getBoundingBoxExtents(
double& x,
double& y,
double& z)
const;
207 const DtVector& boundingBoxCenter()
const;
210 void getBoundingBoxCenter(
double& x,
double& y,
double& z)
const;
213 double boundingRadius()
const;
218 void setVisible(
bool visible );
224 bool isVisible()
const;
253 void initializeModel(
DtModel* modelInstanceOwner );
256 void modelChanged(
DtModel* model );
261 bool modelVisibilityRequested(
DtModel* model,
bool visible);
264 void resetModelTransforms();
268 void updateBoundingBoxViaContents();
271 void calculateBoundingRadius();
274 virtual void addModelConnections(
DtModel* model );
277 virtual void removeModelConnections(
DtModel* model );