18 #include <matrix/geodeticCoord.h>
19 #include <matrix/vlTaitBryan.h>
21 #include <vlpi/entityType.h>
27 class DtAgentManagerInterface;
28 class DtCigiConnection;
30 class DtSceneObjectAgent;
31 class DtGroundClampingUpdaterAgent;
32 class DtDeadReckonUpdaterAgent;
33 class DtEmbarkationUpdaterAgent;
35 class DtDeadReckonUpdater;
62 virtual int cigiId()
const;
70 virtual void uninit();
76 virtual void restart();
82 virtual void restartRequest();
85 virtual int entityType()
const;
88 virtual bool extendedEntityTypeOn()
const;
91 virtual void setExtendedEntityTypeOn(
bool onOff);
96 virtual void setExtendedEntityType(DtEntityType& entityType);
99 virtual void setVisible(
bool yesNo);
102 virtual bool isVisible()
const;
105 virtual void setDeadReckoningOn(
bool onOff);
111 virtual bool isDeadReckoning()
const;
116 virtual void setPosition(
const DtGeodeticCoord& pos,
bool force=
false);
119 virtual const DtGeodeticCoord& position()
const;
122 virtual const DtVector& localPosition()
const;
127 virtual void setOrientation(
const DtTaitBryan& orientation,
bool force=
false);
130 virtual const DtTaitBryan& orientation()
const;
133 virtual const DtTaitBryan& localOrientation()
const;
136 virtual const DtTaitBryan& geocentricOrientation()
const;
142 virtual void setLinearRate(
const DtVector& rate,
bool useWorldCoordinates,
bool force=
false);
145 virtual const DtVector& linearRate()
const;
151 virtual void setAngularRate(
const DtVector& rate,
bool useWorldCoordinates,
bool force=
false);
154 virtual const DtVector& angularRate()
const;
163 virtual void setRelativePosition(
const DtVector& pos);
167 virtual void setRelativeOrientation(
const DtTaitBryan& orient);
170 virtual bool isEmbarked()
const;
173 virtual int embarkedParentId()
const;
176 virtual const DtVector& relativePosition()
const;
179 virtual const DtTaitBryan& relativeOrientation()
const;
186 virtual void slot_deadReckoningAllowed(
bool allowed);
189 virtual void setAlpha(
int alpha);
193 virtual int alpha()
const;
196 virtual void setInheritAlpha(
bool inherit);
199 virtual bool isInheritingAlpha()
const;
202 virtual void slot_alphaChanged(
int alpha,
DtUniqueID id);
207 virtual void slot_entityToBeDeleted(
int cigiEntityId);
216 virtual void setArtPartTranslation(
int partId,
float xOffset,
float yOffset,
217 float zOffset,
bool xEnable,
bool yEnable,
bool zEnable);
221 virtual bool getArtPartTranslation(
int partId,
DtVector& translation );
224 virtual void setArtPartOrientation(
int partId,
float yaw,
float pitch,
float roll,
225 bool yawEnable,
bool pitchEnable,
bool rollEnable);
229 virtual bool getArtPartOrientation(
int partId, DtTaitBryan& orientation );
232 virtual void setArtPartLinearRate(
int partId,
float xRate,
float yRate,
237 virtual bool getArtPartLinearRate(
int partId,
DtVector& rate );
241 virtual bool getArtPartTranslationAndRate(
int partId,
DtVector& translation,
DtVector& rate );
244 virtual void setArtPartAngularRate(
int partId,
float yawRate,
float pitchRate,
249 virtual bool getArtPartAngularRate(
int partId,
DtVector& rate );
253 virtual bool getArtPartOrientationAndRate(
int partId, DtTaitBryan& orientation,
DtVector& rate );
256 virtual void setArtPartEnable(
int partId,
bool trueFalse);
258 virtual DtSceneObjectAgent* findSceneObjectAgent();
273 virtual void addCollisionSegmentID(
unsigned int segmentId );
276 virtual void removeCollisionSegmentID(
unsigned int segmentId );
280 virtual void startDeadReckoning();
283 virtual void endDeadReckoning();
286 virtual void startEmbarked();
289 virtual void endEmbarked();
293 virtual void startGroundClamping();
296 virtual void buildGroundClampingUpdater();
299 virtual void endGroundClamping();
303 virtual bool isGroundClamping()
const;
307 virtual void getExtrapolatedValuesAndRestart();
313 virtual void delayedStartEmbarked();
317 virtual void queryExtrapolatedPositionAndOrientation(
DtUniqueID drAgentId,
bool relative );
323 virtual void returnExtrapolatedPositionAndOrientation(
const DtVector& resultPos,
324 const DtTaitBryan& resultOri,
bool relative,
bool invokeRestart );
422 int entityType)
const = 0;
426 template <
typename CigiObject>
449 int entityType )
const
451 return new CigiObject (connection, sceneInterface, entityId,
std::map< int, DtVector > myArtPartAngularRate
Definition: DtCigiBaseEntity.h:389
DtVector myLastLocalPosition
Definition: DtCigiBaseEntity.h:344
std::map< int, DtTaitBryan > myLastArtPartOrientation
Definition: DtCigiBaseEntity.h:387
boost::signal< void(int, DtUniqueID)> signal_alphaChanged
Emitted when this entity's alpha has changed.
Definition: DtCigiBaseEntity.h:261
bool myDeadReckoningOn
Definition: DtCigiBaseEntity.h:339
DtGeodeticCoord myLastPosition
Definition: DtCigiBaseEntity.h:343
std::map< int, DtVector > myArtPartLinearRate
Definition: DtCigiBaseEntity.h:390
DtVector myLastRelativePosition
Definition: DtCigiBaseEntity.h:350
DtDeadReckonUpdater is a scene object updater that is given kinematic updates and updates a scene obj...
Definition: DtDeadReckonUpdater.h:29
bool myVisiblity
Definition: DtCigiBaseEntity.h:376
std::string myEntityModelDefName
Definition: DtCigiBaseEntity.h:333
virtual DtCigiBaseEntity * create(DtCigiConnection &connection, DtAgentManagerInterface &sceneInterface, int entityId, int entityType) const
Create function.
Definition: DtCigiBaseEntity.h:447
virtual DtCigiObjectCreator * clone() const
Every derived class must override this method.
Definition: DtCigiBaseEntity.h:441
DtVector myLastVelocity
Definition: DtCigiBaseEntity.h:353
bool myLastAngularVelocityWorldCoordinates
Definition: DtCigiBaseEntity.h:357
bool myExtendedEntityTypeOn
Definition: DtCigiBaseEntity.h:366
virtual ~DtCigiObjectCreator()
DTOR.
Definition: DtCigiBaseEntity.h:412
std::list< unsigned int > myCollisionSegmentIdList
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:394
bool myOrientationSet
Definition: DtCigiBaseEntity.h:382
Contains DLL export macros.
DtAgentManagerInterface & mySceneInterface
Definition: DtCigiBaseEntity.h:360
int myEmbarkedParentID
Definition: DtCigiBaseEntity.h:372
bool myEmbarked
Definition: DtCigiBaseEntity.h:340
int myAlpha
Definition: DtCigiBaseEntity.h:375
std::map< int, DtVector > myLastArtPartTranslation
Definition: DtCigiBaseEntity.h:388
bool myPositionSet
Definition: DtCigiBaseEntity.h:381
DtCigiObjectCreatorTemplate()
CTOR.
Definition: DtCigiBaseEntity.h:432
DtSceneObjectAgent * mySceneObject
Definition: DtCigiBaseEntity.h:331
AnimationStateGroup
AnimationStateGroup in Cigi Order.
Definition: DtCigiBaseEntity.h:264
DtDeadReckonUpdaterAgent * myDeadReckonUpdaterAgent
Definition: DtCigiBaseEntity.h:335
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
DtTaitBryan myLastLocalOrientation
Definition: DtCigiBaseEntity.h:347
DtCigiBaseEntity * myParent
Definition: DtCigiBaseEntity.h:369
DtCigiConnection & myConnection
Definition: DtCigiBaseEntity.h:359
Abstract DtCigiObject creator.
Definition: DtCigiBaseEntity.h:402
DtModelAgent * myModel
Definition: DtCigiBaseEntity.h:332
This class is responsible for the actual processing of CIGI data.
Definition: DtCigiConnection.h:56
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
Contains makVrv::DtGroundClampingUpdater class.
DtSignalConnectionManager mySignalConnections
Definition: DtCigiBaseEntity.h:396
int myEntityType
Definition: DtCigiBaseEntity.h:364
DtVector myLastAngularVelocity
Definition: DtCigiBaseEntity.h:356
DtTaitBryan myLastRelativeOrientation
Definition: DtCigiBaseEntity.h:351
DtTaitBryan myLastGeocentricOrientation
Definition: DtCigiBaseEntity.h:348
Base class to provide boost signal/slot management.
bool myInheritAlpha
Definition: DtCigiBaseEntity.h:374
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
int myEntityId
Definition: DtCigiBaseEntity.h:363
Contains makVrv::DtUniqueID type.
DtEntityType * myExtendedEntityType
Definition: DtCigiBaseEntity.h:367
This class provides an abstract base class for CIGI entities.
Definition: DtCigiBaseEntity.h:42
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:36
virtual ~DtCigiObjectCreatorTemplate()
DTOR.
Definition: DtCigiBaseEntity.h:437
#define DT_DLL_VRVCIGI
Definition: vrvCigi.h:19
DtTaitBryan myLastOrientation
Definition: DtCigiBaseEntity.h:346
DtGroundClampingUpdater::GroundClampingMode myGroundClampingType
Definition: DtCigiBaseEntity.h:341
Definition: DtCigiBaseEntity.h:427
DtEmbarkationUpdaterAgent * myEmbarkationUpdaterAgent
Definition: DtCigiBaseEntity.h:337
DtCigiObjectCreator()
CTOR.
Definition: DtCigiBaseEntity.h:407
DtGroundClampingUpdaterAgent * myGroundClampingUpdaterAgent
Definition: DtCigiBaseEntity.h:336
bool myLastVelocityWorldCoordinates
Definition: DtCigiBaseEntity.h:354
GroundClampingMode
Ground Clamping Modes.
Definition: DtGroundClampingUpdater.h:31