15 #include <matrix/vlVector.h>
16 #include <matrix/vlTaitBryan.h>
20 #include <boost/unordered_map.hpp>
27 class DtSceneObjectUpdater;
73 return myKey == rec.
model;
89 void addModel(
DtModel* model,
int visualizerType );
92 void removeModel(
DtModel* model );
99 void setPosition(
int vtx,
const DtVector& position );
102 void addPosition(
int vtx,
const DtVector& position );
105 void getPosition(
int vtx, DtVector& position )
const;
110 void setOffset(
const DtVector&
offset );
113 void getOffset( DtVector&
offset )
const;
116 void setOrientation(
int vtx,
const DtTaitBryan& orientation );
119 void setPositionAndOrientation(
int vtx,
const DtVector& position,
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;
136 DtTaitBryan getTopographicOrientation(
const DtVector& geocLocation,
const DtTaitBryan& geocOrientation)
const;
139 void getOrientation(
int vtx,
DtQuat& orientation )
const;
143 virtual void transformToSceneObjectCoord(
const DtVector& dbCoord, DtVector& soCoord)
const;
147 virtual void transformToDatabaseCoord(
const DtVector& soCoord, DtVector& dbCoord)
const;
150 void setColor(
float r,
float g,
float b,
float a);
164 void setIsProp(
bool isProp );
170 void setIsSupportObject(
bool b );
173 bool isSupportObject();
176 void setSolid(
bool b );
179 bool isSolid()
const;
201 virtual void removePosition(
int);
205 void setBoundingBoxSize(
double minX,
double maxX,
206 double minY,
double maxY,
double minZ,
double maxZ);
209 const DtVector& boundingBoxExtents()
const;
212 void getBoundingBoxExtents(
double& x,
double& y,
double& z)
const;
215 const DtVector& boundingBoxCenter()
const;
218 void getBoundingBoxCenter(
double& x,
double& y,
double& z)
const;
221 double boundingRadius()
const;
226 void setVisible(
bool visible );
232 bool isVisible()
const;
239 virtual void setBeingObserved(
bool observed);
240 virtual bool beingObserved()
const;
251 virtual float getAndResetMinModelDistance();
272 static void modelCoordToSceneObjectCoord(
const DtVector& modelCoord, DtVector& soCoord);
277 void initializeModel(
DtModel* modelInstanceOwner );
280 void modelChanged(
DtModel* model );
285 bool modelVisibilityRequested(
DtModel* model,
bool visible);
288 void resetModelTransforms();
292 void updateBoundingBoxViaContents();
295 void calculateBoundingRadius();
298 virtual void addModelConnections(
DtModel* model );
301 virtual void removeModelConnections(
DtModel* model );
boost::unordered_map< DtModel *, ModelConnections > ModelConnectionsMap
Definition: DtSceneObject.h:334
boost::signalslib::signal< void(DtModel *)> signal_modelAdded
Signaled after a model has been added.
Definition: DtSceneObject.h:257
ModelList myModels
Definition: DtSceneObject.h:316
DtVector myBoundingBoxExtents
Definition: DtSceneObject.h:320
DtModelSetId myModelSet
Definition: DtSceneObject.h:312
double myBoundingRadius
Definition: DtSceneObject.h:321
Scene Object Updater.
Definition: DtSceneObjectUpdater.h:40
boost::signalslib::connection modelDestroyedConnection
Definition: DtSceneObject.h:329
Definition: DtSceneObject.h:59
boost::signalslib::signal< void(DtSceneObject *)> signal_boundingVolumeChanged
Emitted after the bounding volume of the object changes.
Definition: DtSceneObject.h:266
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
bool myResetModelsTransforms
Definition: DtSceneObject.h:325
boost::signalslib::connection modelChangedConnection
Definition: DtSceneObject.h:330
bool myIsDrawnSolid
Definition: DtSceneObject.h:315
bool origVisibility
Definition: DtSceneObject.h:62
DtVector myBoundingBoxCenter
Definition: DtSceneObject.h:319
bool myVisibleFlag
Definition: DtSceneObject.h:317
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
bool myIsProp
Definition: DtSceneObject.h:313
FindModelFunctor(const FindModelFunctor &fm)
Definition: DtSceneObject.h:69
bool myBeingObserved
Definition: DtSceneObject.h:323
DtModel * model
Definition: DtSceneObject.h:61
bool myUpdateModelsSpatial
Definition: DtSceneObject.h:326
DtUniqueID myUniqueId
Definition: DtSceneObject.h:307
boost::signalslib::connection modelVisibilityConnection
Definition: DtSceneObject.h:331
DtVector myOffset
Definition: DtSceneObject.h:322
Definition: DtSceneObject.h:66
DtSceneObjectUpdater * myUpdater
Definition: DtSceneObject.h:310
DtElementID myElementID
Definition: DtSceneObject.h:309
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
FindModelFunctor(DtModel *aKey=0)
Definition: DtSceneObject.h:68
std::pair< DtModel *, ModelConnections > ModelConnectionsPair
Definition: DtSceneObject.h:333
bool myGroundClampTo
Definition: DtSceneObject.h:314
TransformList myTransforms
Definition: DtSceneObject.h:308
bool myCalculateBoundingBoxFlag
Definition: DtSceneObject.h:318
boost::signalslib::signal< void(const DtUniqueID &) > signal_sceneObjectToBeDeleted
Emitted before the scene object is destroyed.
Definition: DtSceneObject.h:263
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:44
A model which owns a single model instance. A DtModel is a managing container for a single DtModelIns...
Definition: DtModel.h:56
Contains makVrv::DtUniqueID type.
ModelConnectionsMap myModelConnections
Definition: DtSceneObject.h:335
std::vector< ObjectTransform > TransformList
Definition: DtSceneObject.h:56
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
boost::signalslib::signal< void(DtModel *)> signal_modelRemoved
Signaled after the model has been removed.
Definition: DtSceneObject.h:260
Definition: DtSceneObject.h:327
DtDe & myDe
Definition: DtSceneObject.h:306
A utility Quaternion class.
Definition: DtQuat.h:19
std::vector< ModelRecord > ModelList
Definition: DtSceneObject.h:79
DtModel * myKey
Definition: DtSceneObject.h:76
DtModelSetId
Definition: DtModelSetEnums.h:19
voidpf uLong offset
Definition: ioapi.h:42
Contains DLL export macros.