15 #include "tbb/spin_mutex.h"
28 const DtString& rwName = DtString::nullString(),
33 const DtString& rwName = DtString::nullString(),
44 const DtString& rwName = DtString::nullString(),
54 virtual const DtVector& localPosition()
const;
55 virtual void setLocalPosition(
const DtVector& localPosition);
61 virtual const DtVector& localVelocity()
const;
62 virtual void setLocalVelocity(
const DtVector& localVelocity,
63 bool recomputeSpeed =
true);
66 virtual DtReal localSpeed()
const;
67 virtual void setLocalSpeed(DtReal localSpeed);
70 virtual const DtVector& localAcceleration()
const;
71 virtual void setLocalAcceleration(
const DtVector& localAcceleration);
77 virtual const DtVector& relativeAcceleration()
const;
78 virtual void setRelativeAcceleration(
const DtVector& localAcceleration);
81 virtual const DtVector& relativeVelocity()
const;
82 virtual void setRelativeVelocity(
const DtVector& localVelocity,
83 bool recomputeSpeed =
true);
88 virtual void invalidateRelativeVelocity();
89 virtual void invalidateRelativeAcceleration();
93 virtual const DtTaitBryan& localOrientationWrtDatabase()
const;
94 virtual void setLocalOrientationWrtDatabase(
95 const DtTaitBryan& localOrientation,
100 virtual const DtDcm& localOrientationMatrix()
const;
101 virtual void setLocalOrientationMatrix(
const DtDcm& localOrientationMatrix,
102 bool recomputeEulers =
true);
114 bool recomputeSpeed =
true);
136 bool recomputeEulers =
true);
150 virtual void validateLocalState();
160 virtual const DtTaitBryan& localOrientation()
const;
161 virtual void setLocalOrientation(
const DtTaitBryan& topoOrientation,
169 virtual void addLocalVertex(
const DtVector& vertex,
DtVector& newGeometricCenter);
176 virtual void setLocalVertices(
const DtList& vertices,
181 virtual void setIsEllipsoid(
bool);
182 virtual bool isEllipsoid()
const;
194 virtual void invalidateLocalGeometry();
196 virtual void freezeSpatial();
197 virtual void thawSpatial();
205 virtual void setLocalKinematicState(
207 virtual void clearLocalVertices();
const Coordinate_System * myCoordinateSystemPtr
Definition: vrfKinematicState.h:222
virtual void setWorldVelocity(const DtVector &velocity, bool recomputeSpeed=true)
virtual void setGeometryNeedsUpdate(bool)
Sets flags to update vertices.
Definition: simKinematicState.h:268
DtTaitBryan myTopoOrientation
This data member is used in localOrientation(), to provide a way to return a const reference to a DtT...
Definition: vrfKinematicState.h:227
virtual void setWorldOrientationMatrix(const DtDcm &orientationMatrix, bool recomputeEulers=true)
DtVector myRelativeAcceleration
Definition: vrfKinematicState.h:229
virtual DtSimKinematicState * clone(const DtString &name=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=NULL) const
Clone.
class DtKinematicStateCS: DtKinematicStateCS contains the current kinematic state of an object in one...
Definition: kinematicStateCS.h:42
virtual const DtVector & worldAcceleration() const
virtual const DtVector & worldPosition() const
virtual void setParentPosition(const DtVector &position)
bool myRelativeAccelerationInvalid
Definition: vrfKinematicState.h:230
virtual void setWorldVertices(const DtVertexList &vertices, DtVector &newGeometricCenter)
Sets world vertices and translates them to body coordinates.
File: lclVecIter.h.
Definition: localVectorIterator.h:25
This class is a DtSimKinematicState with the addition of another CS for local database coordinates...
Definition: vrfKinematicState.h:22
DtRotationConstraint
Definition: kinematicStateCS.h:53
The DtSimObjectStateRepository is an abstract base class (ABC) for all state repositories.
Definition: simObjectStateRepository.h:46
Definition: readerWriterRegistry.h:39
Definition: kinematicStateCS.h:56
File: csValidVec.h.
Definition: coordSysValidationVector.h:19
virtual void parentKinematicsChanged()
virtual void setGeometryNeedsUpdate(bool b)
Sets flags to update vertices.
Definition: vrfKinematicState.h:242
virtual void setWorldPosition(const DtVector &position)
DtKinematicStateCS myLocalKinematicState
Position, velocity, acceleration, orientation (Euler and DCM), and rotational velocity in database co...
Definition: vrfKinematicState.h:218
Definition: coordSystem.h:54
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
virtual void setParentOrientation(const DtTaitBryan &orientation, DtKinematicStateCS::DtRotationConstraint recomputeMatrix=DtKinematicStateCS::RotateAboutX)
bool myLocalObjectGeometryInvalid
Definition: vrfKinematicState.h:235
class DtSimKinematicState: This class encapsulates the kinematic state of an object wrt to the local ...
Definition: simKinematicState.h:30
DtCoordSysValidationVector myLocalVV
Definition: vrfKinematicState.h:220
virtual const DtTaitBryan & worldOrientation() const
virtual void setWorldOrientation(const DtTaitBryan &orientation, DtKinematicStateCS::DtRotationConstraint recomputeMatrix=DtKinematicStateCS::RotateAboutX)
virtual void validateState()
virtual const DtDcm & worldOrientationMatrix() const
virtual void removeVertex(int)
Removes vertex at the specified position.
const DtSimKinematicState & operator=(const DtSimKinematicState &orig)
Assignment Operator.
virtual DtVector bodyVelocity() const
virtual void setRotationConstraint(DtKinematicStateCS::DtRotationConstraint constraint)
DtVector myRelativeVelocity
Definition: vrfKinematicState.h:232
virtual void setWorldAcceleration(const DtVector &acceleration)
class DtLocalVertexList:
Definition: localVertexList.h:20
DtLocalVertexList myLocalVertexList
Definition: vrfKinematicState.h:236
virtual const DtVector & worldVelocity() const
bool myRelativeVelocityInvalid
Definition: vrfKinematicState.h:233
tbb::spin_mutex myLocalVerticesMutex
Definition: vrfKinematicState.h:238