18 #include <matrix/geodeticCoord.h>
19 #include <matrix/vlTaitBryan.h>
23 class DtAgentManagerInterface;
24 class DtCigiConnection;
26 class DtSceneObjectAgent;
27 class DtGroundClampingUpdaterAgent;
28 class DtDeadReckonUpdaterAgent;
29 class DtEmbarkationUpdaterAgent;
56 virtual int cigiId()
const;
63 virtual int entityType()
const;
66 virtual void setVisible(
bool yesNo);
69 virtual bool isVisible()
const;
72 virtual void setDeadReckoningOn(
bool onOff);
75 virtual bool isDeadReckoning()
const;
80 virtual void setPosition(
const DtGeodeticCoord& pos,
bool force=
false);
83 virtual const DtGeodeticCoord& position()
const;
86 virtual const DtVector& localPosition()
const;
91 virtual void setOrientation(
const DtTaitBryan& orientation,
bool force=
false);
94 virtual const DtTaitBryan& orientation()
const;
97 virtual const DtTaitBryan& localOrientation()
const;
100 virtual const DtTaitBryan& geocentricOrientation()
const;
106 virtual void setLinearRate(
const DtVector& rate,
bool useWorldCoordinates,
bool force=
false);
109 virtual const DtVector& linearRate()
const;
115 virtual void setAngularRate(
const DtVector& rate,
bool useWorldCoordinates,
bool force=
false);
118 virtual const DtVector& angularRate()
const;
127 virtual void setRelativePosition(
const DtVector& pos);
131 virtual void setRelativeOrientation(
const DtTaitBryan& orient);
134 virtual bool isEmbarked()
const;
145 virtual void slot_deadReckoningAllowed(
bool allowed);
148 virtual void setAlpha(
int alpha);
152 virtual int alpha()
const;
155 virtual void setInheritAlpha(
bool inherit);
158 virtual bool isInheritingAlpha()
const;
161 virtual void slot_alphaChanged(
int alpha,
DtUniqueID id);
170 virtual void setArtPartTranslation(
int partId,
float xOffset,
float yOffset,
171 float zOffset,
bool xEnable,
bool yEnable,
bool zEnable);
175 virtual bool getArtPartTranslation(
int partId,
int& mappedPartId,
DtVector& translation );
178 virtual void setArtPartOrientation(
int partId,
float yaw,
float pitch,
float roll,
179 bool yawEnable,
bool pitchEnable,
bool rollEnable);
183 virtual bool getArtPartOrientation(
int partId,
int& mappedPartId, DtTaitBryan& orientation );
186 virtual void setArtPartLinearRate(
int partId,
float xRate,
float yRate,
191 virtual bool getArtPartLinearRate(
int partId,
int& mappedPartId,
DtVector& rate );
195 virtual bool getArtPartTranslationAndRate(
int partId,
int& mappedPartId,
DtVector& translation,
DtVector& rate );
198 virtual void setArtPartAngularRate(
int partId,
float yawRate,
float pitchRate,
203 virtual bool getArtPartAngularRate(
int partId,
int& mappedPartId,
DtVector& rate );
207 virtual bool getArtPartOrientationAndRate(
int partId,
int& mappedPartId, DtTaitBryan& orientation,
DtVector& rate );
210 virtual void setArtPartEnable(
int partId,
bool trueFalse);
216 virtual void startDeadReckoning();
219 virtual void endDeadReckoning();
222 virtual void startEmbarked();
225 virtual void endEmbarked();
228 virtual void startGroundClamping();
231 virtual void endGroundClamping();
233 virtual void buildGroundClampingUpdater();
307 int entityType)
const = 0;
311 template <
typename CigiObject>
334 int entityType )
const
336 return new CigiObject (connection, sceneInterface, entityId,