18 #include <matrix/geodeticCoord.h>
19 #include <matrix/vlTaitBryan.h>
25 class DtAgentManagerInterface;
26 class DtCigiConnection;
28 class DtSceneObjectAgent;
29 class DtGroundClampingUpdaterAgent;
30 class DtDeadReckonUpdaterAgent;
31 class DtEmbarkationUpdaterAgent;
33 class DtDeadReckonUpdater;
60 virtual int cigiId()
const;
68 virtual void uninit();
74 virtual void restart();
80 virtual void restartRequest();
83 virtual int entityType()
const;
86 virtual void setVisible(
bool yesNo);
89 virtual bool isVisible()
const;
92 virtual void setDeadReckoningOn(
bool onOff);
98 virtual bool isDeadReckoning()
const;
103 virtual void setPosition(
const DtGeodeticCoord& pos,
bool force=
false);
106 virtual const DtGeodeticCoord& position()
const;
109 virtual const DtVector& localPosition()
const;
114 virtual void setOrientation(
const DtTaitBryan& orientation,
bool force=
false);
117 virtual const DtTaitBryan& orientation()
const;
120 virtual const DtTaitBryan& localOrientation()
const;
123 virtual const DtTaitBryan& geocentricOrientation()
const;
129 virtual void setLinearRate(
const DtVector& rate,
bool useWorldCoordinates,
bool force=
false);
132 virtual const DtVector& linearRate()
const;
138 virtual void setAngularRate(
const DtVector& rate,
bool useWorldCoordinates,
bool force=
false);
141 virtual const DtVector& angularRate()
const;
150 virtual void setRelativePosition(
const DtVector& pos);
154 virtual void setRelativeOrientation(
const DtTaitBryan& orient);
157 virtual bool isEmbarked()
const;
160 virtual int embarkedParentId()
const;
167 virtual void slot_deadReckoningAllowed(
bool allowed);
170 virtual void setAlpha(
int alpha);
174 virtual int alpha()
const;
177 virtual void setInheritAlpha(
bool inherit);
180 virtual bool isInheritingAlpha()
const;
183 virtual void slot_alphaChanged(
int alpha,
DtUniqueID id);
192 virtual void setArtPartTranslation(
int partId,
float xOffset,
float yOffset,
193 float zOffset,
bool xEnable,
bool yEnable,
bool zEnable);
197 virtual bool getArtPartTranslation(
int partId,
int& mappedPartId,
DtVector& translation );
200 virtual void setArtPartOrientation(
int partId,
float yaw,
float pitch,
float roll,
201 bool yawEnable,
bool pitchEnable,
bool rollEnable);
205 virtual bool getArtPartOrientation(
int partId,
int& mappedPartId, DtTaitBryan& orientation );
208 virtual void setArtPartLinearRate(
int partId,
float xRate,
float yRate,
213 virtual bool getArtPartLinearRate(
int partId,
int& mappedPartId,
DtVector& rate );
217 virtual bool getArtPartTranslationAndRate(
int partId,
int& mappedPartId,
DtVector& translation,
DtVector& rate );
220 virtual void setArtPartAngularRate(
int partId,
float yawRate,
float pitchRate,
225 virtual bool getArtPartAngularRate(
int partId,
int& mappedPartId,
DtVector& rate );
229 virtual bool getArtPartOrientationAndRate(
int partId,
int& mappedPartId, DtTaitBryan& orientation,
DtVector& rate );
232 virtual void setArtPartEnable(
int partId,
bool trueFalse);
234 virtual DtSceneObjectAgent* findSceneObjectAgent();
241 virtual void startDeadReckoning();
244 virtual void endDeadReckoning();
247 virtual void startEmbarked();
250 virtual void endEmbarked();
254 virtual void startGroundClamping();
257 virtual void buildGroundClampingUpdater();
260 virtual void endGroundClamping();
264 virtual bool isGroundClamping()
const;
268 virtual void getExtrapolatedValuesAndRestart();
274 virtual void delayedStartEmbarked();
278 virtual void queryExtrapolatedPositionAndOrientation(
DtUniqueID drAgentId,
bool relative );
284 virtual void returnExtrapolatedPositionAndOrientation(
DtVector resultPos,
285 DtTaitBryan resultOri,
bool relative,
bool invokeRestart );
370 int entityType)
const = 0;
374 template <
typename CigiObject>
397 int entityType )
const
399 return new CigiObject (connection, sceneInterface, entityId,