12 #include <vlpi/disEnums.h>
17 #include <matrix/vlTaitBryan.h>
36 const DtString& name = DtString::nullString(),
40 const DtSymbolString& name,
45 const DtString& name = DtString::nullString(),
49 const DtSymbolString& name,
65 virtual const DtVector& parentPosition()
const;
66 virtual void setParentPosition(
const DtVector& position);
68 virtual const DtVector& parentVelocity()
const;
69 virtual void setParentVelocity(
const DtVector& velocity,
70 bool recomputeSpeed =
true);
71 virtual DtReal parentSpeed()
const;
73 virtual const DtVector& parentAcceleration()
const;
74 virtual void setParentAcceleration(
const DtVector& acceleration);
76 virtual const DtTaitBryan& parentOrientation()
const;
77 virtual void setParentOrientation(
const DtTaitBryan& orientation,
80 virtual const DtDcm& parentOrientationMatrix()
const;
81 virtual void setParentOrientationMatrix(
const DtDcm& orientationMatrix,
82 bool recomputeEulers =
true);
84 virtual const DtVector& worldPosition()
const;
85 virtual void setWorldPosition(
const DtVector& position);
87 virtual const DtVector& worldVelocity()
const;
88 virtual void setWorldVelocity(
const DtVector& velocity,
89 bool recomputeSpeed =
true);
91 virtual DtReal worldSpeed()
const;
93 virtual const DtVector& worldAcceleration()
const;
94 virtual void setWorldAcceleration(
const DtVector& acceleration);
96 virtual const DtTaitBryan& worldOrientation()
const;
97 virtual void setWorldOrientation(
const DtTaitBryan& orientation,
100 virtual const DtDcm& worldOrientationMatrix()
const;
101 virtual void setWorldOrientationMatrix(
const DtDcm& orientationMatrix,
102 bool recomputeEulers =
true);
104 virtual DtVector bodyVelocity()
const;
107 virtual DtTaitBryan topoEuler()
const;
110 virtual double heading()
const;
113 virtual double pitch()
const;
116 virtual double roll()
const;
118 virtual const DtVector& rotationalVelocity()
const;
119 virtual void setRotationalVelocity(
const DtVector& rotationalVelocity);
124 virtual void setRotationConstraint(
129 virtual void setOrientationType(
134 virtual void parentKinematicsChanged();
142 virtual void putSelf(FILE *fp,
int indentLevel = 0,
bool writeUnspecified =
false,
146 virtual void validateParentState();
147 virtual void validateWorldState();
148 virtual void validateState();
151 virtual void clearWorldVertices();
152 virtual void copyWorldVertices(
const DtList&);
158 virtual void addWorldVertex(
const DtVector& vertex,
DtVector& newGeometricCenter);
162 virtual void setWorldVertices(
const DtList& vertices,
DtVector& newGeometricCenter);
169 virtual void removeVertex(
int);
172 virtual void setGeometryNeedsUpdate(
bool);
177 virtual void invalidateWorldGeometry();
186 virtual void setParentKinematicState(
194 virtual void setWorldKinematicState(
198 virtual void setWorldPositionFromParent();
201 virtual void setWorldOrientationFromParent();
205 virtual bool calculateGeometricCenter(
const DtList& vertices,
DtVector& geometricCenter)
const;
210 virtual void calculateBodyCoordinates(
const DtList& worldVertices);