8 #ifndef vrfKinematicState_H_
9 #define vrfKinematicState_H_
18 #include "tbb/spin_mutex.h"
31 const DtString& rwName = DtString::nullString(),
36 const DtString& rwName = DtString::nullString(),
47 const DtString& rwName = DtString::nullString(),
53 virtual void setCoordinateSystem(
const Coordinate_System* coordinateSystem);
54 virtual const Coordinate_System* coordinateSystem()
const;
57 virtual const DtVector& localPosition()
const;
58 virtual void setLocalPosition(
const DtVector& localPosition);
64 virtual const DtVector& localVelocity()
const;
65 virtual void setLocalVelocity(
const DtVector& localVelocity,
66 bool recomputeSpeed =
true);
69 virtual DtReal localSpeed()
const;
70 virtual void setLocalSpeed(DtReal localSpeed);
73 virtual const DtVector& localAcceleration()
const;
74 virtual void setLocalAcceleration(
const DtVector& localAcceleration);
80 virtual const DtVector& relativeAcceleration()
const;
81 virtual void setRelativeAcceleration(
const DtVector& localAcceleration);
84 virtual const DtVector& relativeVelocity()
const;
85 virtual void setRelativeVelocity(
const DtVector& localVelocity,
86 bool recomputeSpeed =
true);
91 virtual void invalidateRelativeVelocity();
92 virtual void invalidateRelativeAcceleration();
96 virtual const DtTaitBryan& localOrientationWrtDatabase()
const;
97 virtual void setLocalOrientationWrtDatabase(
98 const DtTaitBryan& localOrientation,
103 virtual const DtDcm& localOrientationMatrix()
const;
104 virtual void setLocalOrientationMatrix(
const DtDcm& localOrientationMatrix,
105 bool recomputeEulers =
true);
117 bool recomputeSpeed =
true);
139 bool recomputeEulers =
true);
153 virtual void validateLocalState();
163 virtual const DtTaitBryan& localOrientation()
const;
164 virtual void setLocalOrientation(
const DtTaitBryan& topoOrientation,
172 virtual void addLocalVertex(
const DtVector& vertex,
DtVector& newGeometricCenter);
179 virtual void setLocalVertices(
const DtList& vertices,
193 virtual void invalidateLocalGeometry();
201 virtual void setLocalKinematicState(
203 virtual void clearLocalVertices();