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);
188 virtual void slot_entityToBeDeleted(
int cigiEntityId);
197 virtual void setArtPartTranslation(
int partId,
float xOffset,
float yOffset,
198 float zOffset,
bool xEnable,
bool yEnable,
bool zEnable);
202 virtual bool getArtPartTranslation(
int partId,
int& mappedPartId,
DtVector& translation );
205 virtual void setArtPartOrientation(
int partId,
float yaw,
float pitch,
float roll,
206 bool yawEnable,
bool pitchEnable,
bool rollEnable);
210 virtual bool getArtPartOrientation(
int partId,
int& mappedPartId, DtTaitBryan& orientation );
213 virtual void setArtPartLinearRate(
int partId,
float xRate,
float yRate,
218 virtual bool getArtPartLinearRate(
int partId,
int& mappedPartId,
DtVector& rate );
222 virtual bool getArtPartTranslationAndRate(
int partId,
int& mappedPartId,
DtVector& translation,
DtVector& rate );
225 virtual void setArtPartAngularRate(
int partId,
float yawRate,
float pitchRate,
230 virtual bool getArtPartAngularRate(
int partId,
int& mappedPartId,
DtVector& rate );
234 virtual bool getArtPartOrientationAndRate(
int partId,
int& mappedPartId, DtTaitBryan& orientation,
DtVector& rate );
237 virtual void setArtPartEnable(
int partId,
bool trueFalse);
239 virtual DtSceneObjectAgent* findSceneObjectAgent();
246 virtual void startDeadReckoning();
249 virtual void endDeadReckoning();
252 virtual void startEmbarked();
255 virtual void endEmbarked();
259 virtual void startGroundClamping();
262 virtual void buildGroundClampingUpdater();
265 virtual void endGroundClamping();
269 virtual bool isGroundClamping()
const;
273 virtual void getExtrapolatedValuesAndRestart();
279 virtual void delayedStartEmbarked();
283 virtual void queryExtrapolatedPositionAndOrientation(
DtUniqueID drAgentId,
bool relative );
289 virtual void returnExtrapolatedPositionAndOrientation(
const DtVector& resultPos,
290 const DtTaitBryan& resultOri,
bool relative,
bool invokeRestart );
381 int entityType)
const = 0;
385 template <
typename CigiObject>
408 int entityType )
const
410 return new CigiObject (connection, sceneInterface, entityId,