12 #include <vlpi/disEnums.h>
17 #include <matrix/vlTaitBryan.h>
36 const DtString& name = DtString::nullString(),
45 const DtString& name = DtString::nullString(),
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);
123 virtual void setAffectAttachments(
bool);
124 bool affectAttachments()
const;
129 virtual void setRotationConstraint(
134 virtual void setOrientationType(
139 virtual void parentKinematicsChanged();
147 virtual void putSelf(std::string& fp,
int indentLevel = 0,
bool writeUnspecified =
false,
151 virtual void validateParentState();
152 virtual void validateWorldState();
153 virtual void validateState();
156 virtual void clearWorldVertices();
157 virtual void copyWorldVertices(
const DtList&);
163 virtual void addWorldVertex(
const DtVector& vertex,
DtVector& newGeometricCenter);
167 virtual void setWorldVertices(
const DtList& vertices,
DtVector& newGeometricCenter);
174 virtual void removeVertex(
int);
177 virtual void setGeometryNeedsUpdate(
bool);
182 virtual void invalidateWorldGeometry();
185 virtual bool calculateGeometricCenter(
const DtList& vertices,
DtVector& geometricCenter)
const;
192 virtual void setParentKinematicState(
200 virtual void setWorldKinematicState(
204 virtual void setWorldPositionFromParent();
207 virtual void setWorldOrientationFromParent();
213 return myFreezeMovement;
220 virtual void calculateBodyCoordinates(
const DtList& worldVertices);
virtual void setGeometryNeedsUpdate(bool)
Sets flags to update vertices.
Definition: simKinematicState.h:268
class DtKinematicStateCS: DtKinematicStateCS contains the current kinematic state of an object in one...
Definition: kinematicStateCS.h:42
Definition: symbolString.h:20
bool myTopoInvalid
Definition: simKinematicState.h:256
bool myFreezeMovement
When set to true this will cause velocity, acceleration, and rotation velocity.
Definition: simKinematicState.h:265
Definition: readerWriter.h:85
DtRotationConstraint
Definition: kinematicStateCS.h:53
DtRwVector myRotationalVelocity
this is the rate at which the object is rolling, pitching and yawing
Definition: simKinematicState.h:250
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
Definition: rwVector.h:23
DtKinematicStateCS myWorldKinematicState
position, velocity, acceleration, orientation (Euler and DCM), and rotational velocity in database co...
Definition: simKinematicState.h:239
DtCoordSysValidationVector myWorldVV
Definition: simKinematicState.h:247
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DtCoordSysValidationVector myParentVV
XXX This will not be here...
Definition: simKinematicState.h:246
DtKinematicStateCS myParentKinematicState
position, velocity, acceleration, orientation (Euler and DCM), and rotational velocity in parent's co...
Definition: simKinematicState.h:230
class DtSimKinematicState: This class encapsulates the kinematic state of an object wrt to the local ...
Definition: simKinematicState.h:30
class DtVertexList:
Definition: vertexList.h:22
virtual bool isFrozen() const
Use this method to check freeze movement rather than state data in vrfsim due to timing on when the a...
Definition: simKinematicState.h:211
bool myAffectAttachments
Definition: simKinematicState.h:262
virtual void putSelf(std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
Top level call to write itself to file.
DtSimOrientationType
Definition: kinematicStateCS.h:46
const DtReaderWriter & operator=(const DtReaderWriter &orig)
assignment operator
DtTaitBryan myTopoEuler
Definition: simKinematicState.h:255
bool myObjectGeometryInvalid
If true, and if this item is attached to a parent, redo object geometry.
Definition: simKinematicState.h:260
DtSimObjectStateRepository * myStateRepository
Definition: simKinematicState.h:253
static const DtFilename & appPath()
Gets the current working directory.
File: rwVecIterator.h.
Definition: rwVectorIterator.h:29
DtVertexList myWorldVertices
Definition: simKinematicState.h:240