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);
94 virtual void setExtendedEntityType(DtEntityType& entityType);
97 virtual void setVisible(
bool yesNo);
100 virtual bool isVisible()
const;
103 virtual void setDeadReckoningOn(
bool onOff);
109 virtual bool isDeadReckoning()
const;
114 virtual void setPosition(
const DtGeodeticCoord& pos,
bool force=
false);
117 virtual const DtGeodeticCoord& position()
const;
124 virtual const DtGeodeticCoord& previousPosition()
const;
127 virtual const DtVector& localPosition()
const;
132 virtual void setOrientation(
const DtTaitBryan& orientation,
bool force=
false);
135 virtual const DtTaitBryan& orientation()
const;
138 virtual const DtTaitBryan& localOrientation()
const;
141 virtual const DtTaitBryan& geocentricOrientation()
const;
147 virtual void setLinearRate(
const DtVector& rate,
bool useWorldCoordinates,
bool force=
false);
150 virtual const DtVector& linearRate()
const;
156 virtual void setAngularRate(
const DtVector& rate,
bool useWorldCoordinates,
bool force=
false);
159 virtual const DtVector& angularRate()
const;
168 virtual void setRelativePosition(
const DtVector& pos);
172 virtual void setRelativeOrientation(
const DtTaitBryan& orient);
175 virtual bool isEmbarked()
const;
178 virtual int embarkedParentId()
const;
181 virtual const DtVector& relativePosition()
const;
184 virtual const DtTaitBryan& relativeOrientation()
const;
191 virtual void slot_deadReckoningAllowed(
bool allowed);
194 virtual void slot_smoothingChanged(
bool enabled);
197 virtual void slot_smoothingPeriodChanged(
float period);
200 virtual void setAlpha(
int alpha);
204 virtual int alpha()
const;
207 virtual void setInheritAlpha(
bool inherit);
210 virtual bool isInheritingAlpha()
const;
213 virtual void slot_alphaChanged(
int alpha,
DtUniqueID id);
218 virtual void slot_entityToBeDeleted(
int cigiEntityId);
227 virtual void setArtPartTranslation(
int partId,
float xOffset,
float yOffset,
228 float zOffset,
bool xEnable,
bool yEnable,
bool zEnable);
232 virtual bool getArtPartTranslation(
int partId, DtVector& translation );
235 virtual void setArtPartOrientation(
int partId,
float yaw,
float pitch,
float roll,
236 bool yawEnable,
bool pitchEnable,
bool rollEnable);
240 virtual bool getArtPartOrientation(
int partId, DtTaitBryan& orientation );
243 virtual void setArtPartLinearRate(
int partId,
float xRate,
float yRate,
248 virtual bool getArtPartLinearRate(
int partId, DtVector& rate );
252 virtual bool getArtPartTranslationAndRate(
int partId, DtVector& translation, DtVector& rate );
255 virtual void setArtPartAngularRate(
int partId,
float yawRate,
float pitchRate,
260 virtual bool getArtPartAngularRate(
int partId, DtVector& rate );
264 virtual bool getArtPartOrientationAndRate(
int partId, DtTaitBryan& orientation, DtVector& rate );
267 virtual void setArtPartEnable(
int partId,
bool trueFalse);
269 virtual DtSceneObjectAgent* findSceneObjectAgent();
284 virtual void addCollisionSegmentID(
unsigned int segmentId );
287 virtual void removeCollisionSegmentID(
unsigned int segmentId );
291 virtual void startDeadReckoning();
294 virtual void endDeadReckoning();
297 virtual void startEmbarked();
300 virtual void endEmbarked();
304 virtual void startGroundClamping();
307 virtual void buildGroundClampingUpdater();
310 virtual void endGroundClamping();
314 virtual bool isGroundClamping()
const;
318 virtual void getExtrapolatedValuesAndRestart();
326 virtual void delayedStartEmbarked();
330 virtual void queryExtrapolatedPositionAndOrientation(
DtUniqueID drAgentId,
bool relative );
336 virtual void returnExtrapolatedPositionAndOrientation(
const DtVector& resultPos,
337 const DtTaitBryan& resultOri,
bool relative,
bool invokeRestart );
438 int entityType)
const = 0;
442 template <
typename CigiObject>
465 int entityType )
const
467 return new CigiObject (connection, sceneInterface, entityId,
DT_DLL_EXAMPLESCENEROOTPLUGIN void init(DtDe &anIG)
std::map< int, DtVector > myArtPartAngularRate
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:402
DtVector myLastLocalPosition
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:357
std::map< int, DtTaitBryan > myLastArtPartOrientation
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:400
bool myDeadReckoningOn
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:352
DtGeodeticCoord myLastPosition
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:356
std::map< int, DtVector > myArtPartLinearRate
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:403
DtVector myLastRelativePosition
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:363
DtDeadReckonUpdater is a scene object updater that is given kinematic updates and updates a scene obj...
Definition: DtDeadReckonUpdater.h:28
bool myVisiblity
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:389
std::string myEntityModelDefName
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:346
virtual DtCigiBaseEntity * create(DtCigiConnection &connection, DtAgentManagerInterface &sceneInterface, int entityId, int entityType) const
Create function.
Definition: DtCigiBaseEntity.h:463
virtual DtCigiObjectCreator * clone() const
Every derived class must override this method.
Definition: DtCigiBaseEntity.h:457
DtVector myLastVelocity
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:366
bool myLastAngularVelocityWorldCoordinates
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:370
vrvSignalsLib::connection myPreTickConnection
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:412
bool myExtendedEntityTypeOn
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:379
virtual ~DtCigiObjectCreator()
DTOR.
Definition: DtCigiBaseEntity.h:428
std::list< unsigned int > myCollisionSegmentIdList
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:407
bool myOrientationSet
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:395
Contains DLL export macros.
DtAgentManagerInterface & mySceneInterface
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:373
int myEmbarkedParentID
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:385
bool myEmbarked
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:353
int myAlpha
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:388
vrvSignalsLib::connection myAlphaChangedConnection
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:411
std::map< int, DtVector > myLastArtPartTranslation
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:401
bool myPositionSet
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:394
DtCigiObjectCreatorTemplate()
CTOR.
Definition: DtCigiBaseEntity.h:448
DtSceneObjectAgent * mySceneObject
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:344
AnimationStateGroup
AnimationStateGroup in Cigi Order.
Definition: DtCigiBaseEntity.h:275
DtDeadReckonUpdaterAgent * myDeadReckonUpdaterAgent
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:348
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtTaitBryan myLastLocalOrientation
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:360
DtCigiBaseEntity * myParent
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:382
DtCigiConnection & myConnection
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:372
Abstract DtCigiObject creator.
Definition: DtCigiBaseEntity.h:418
DtModelAgent * myModel
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:345
This class is responsible for the actual processing of CIGI data. This holds the entity visualizer...
Definition: DtCigiConnection.h:58
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Contains makVrv::DtGroundClampingUpdater class.
DtSignalConnectionManager mySignalConnections
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:409
int myEntityType
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:377
DtVector myLastAngularVelocity
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:369
DtEntityType myExtendedEntityType
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:380
DtTaitBryan myLastRelativeOrientation
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:364
DtTaitBryan myLastGeocentricOrientation
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:361
Base class to provide boost signal/slot management.
bool myInheritAlpha
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:387
int myEntityId
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:376
Contains makVrv::DtUniqueID type.
This class provides an abstract base class for CIGI entities. These are created by the DtCigiEntityVi...
Definition: DtCigiBaseEntity.h:42
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:33
virtual ~DtCigiObjectCreatorTemplate()
DTOR.
Definition: DtCigiBaseEntity.h:453
#define DT_DLL_VRVCIGI
Definition: vrvCigi.h:19
DtTaitBryan myLastOrientation
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:359
DtGroundClampingUpdater::GroundClampingMode myGroundClampingType
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:354
Definition: DtCigiBaseEntity.h:443
DtEmbarkationUpdaterAgent * myEmbarkationUpdaterAgent
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:350
DtCigiObjectCreator()
CTOR.
Definition: DtCigiBaseEntity.h:423
DtGroundClampingUpdaterAgent * myGroundClampingUpdaterAgent
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:349
bool myLastVelocityWorldCoordinates
List for Collision Detection Segment IDs from collision segment detection definition packets...
Definition: DtCigiBaseEntity.h:367
vrvSignalsLib::signal< void(int, DtUniqueID)> signal_alphaChanged
Emitted when this entity's alpha has changed.
Definition: DtCigiBaseEntity.h:272
GroundClampingMode
Ground Clamping Modes.
Definition: DtGroundClampingUpdater.h:36