![]() |
VR-Forces 4.0.4 Class Documentation
|
This class is a DtSimKinematicState with the addition of another CS for local database coordinates. More...

Public Member Functions | |
| DtVrfKinematicState (const Coordinate_System *coordinateSystem, DtSimObjectStateRepository *stateRep, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) | |
| Constructor. | |
| DtVrfKinematicState (const DtVrfKinematicState &orig, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) | |
| Copy Constructor. | |
| const DtVrfKinematicState & | operator= (const DtVrfKinematicState &orig) |
| Assignment Operator. | |
| virtual | ~DtVrfKinematicState () |
| Destructor. | |
| virtual DtSimKinematicState * | clone (const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const |
| Clone. | |
| virtual void | setCoordinateSystem (const Coordinate_System *coordinateSystem) |
| Sets coordinate system used in converting between local (database) and other (geocentric or topocentric) coordinates. | |
| virtual const Coordinate_System * | coordinateSystem () const |
| virtual const DtVector & | localPosition () const |
| Position in local (database) coordinates, in meters. | |
| virtual void | setLocalPosition (const DtVector &localPosition) |
| virtual void | setWorldVertices (const DtList &vertices, DtVector &newGeometricCenter) |
| Override to set dirty flag for local. | |
| virtual const DtVector & | localVelocity () const |
| Velocity in local (database) coordinates, in meters/second. | |
| virtual void | setLocalVelocity (const DtVector &localVelocity, bool recomputeSpeed=true) |
| virtual DtReal | localSpeed () const |
| Speed, in meters/second. | |
| virtual void | setLocalSpeed (DtReal localSpeed) |
| virtual const DtVector & | localAcceleration () const |
| Acceleration in local (database) coordinates, in meters/second/second. | |
| virtual void | setLocalAcceleration (const DtVector &localAcceleration) |
| virtual const DtVector & | relativeAcceleration () const |
| Note that for both of the relative calls, the supplied acceleration or velocity should be in local (datbase) coordinates. | |
| virtual void | setRelativeAcceleration (const DtVector &localAcceleration) |
| virtual const DtVector & | relativeVelocity () const |
| If attached, returns parent and sets parent velocity, else returns/sets local. | |
| virtual void | setRelativeVelocity (const DtVector &localVelocity, bool recomputeSpeed=true) |
| virtual DtVector | bodyVelocity () const |
| Returns bodyVelocity if not attached, else relative velocity. | |
| virtual void | invalidateRelativeVelocity () |
| virtual void | invalidateRelativeAcceleration () |
| virtual const DtTaitBryan & | localOrientationWrtDatabase () const |
| Euler angles with respect to the local (database) coordinate system, in radians. | |
| virtual void | setLocalOrientationWrtDatabase (const DtTaitBryan &localOrientation, DtKinematicStateCS::DtRotationConstraint recomputeMatrix=DtKinematicStateCS::RotateAboutX) |
| virtual const DtDcm & | localOrientationMatrix () const |
| Directed cosine matrix for rotating from body coordinates to the local (database) coordinate system. | |
| virtual void | setLocalOrientationMatrix (const DtDcm &localOrientationMatrix, bool recomputeEulers=true) |
| virtual void | setRotationConstraint (DtKinematicStateCS::DtRotationConstraint constraint) |
| virtual const DtVector & | worldPosition () const |
| Position in geocentric coordinates, in meters. | |
| virtual void | setWorldPosition (const DtVector &gecoentricPosition) |
| virtual const DtVector & | worldVelocity () const |
| Velocity in geocentric coordinates, in meters/second. | |
| virtual void | setWorldVelocity (const DtVector &gecoentricVelocity, bool recomputeSpeed=true) |
| virtual const DtVector & | worldAcceleration () const |
| Acceleration in geocentric coordinates, in meters/second/second. | |
| virtual void | setWorldAcceleration (const DtVector &gecoentricAcceleration) |
| virtual const DtTaitBryan & | worldOrientation () const |
| Euler angles with respect to the geocentric coordinate system, in radians. | |
| virtual void | setWorldOrientation (const DtTaitBryan &orientation, DtKinematicStateCS::DtRotationConstraint recomputeMatrix=DtKinematicStateCS::RotateAboutX) |
| virtual void | setParentOrientation (const DtTaitBryan &orientation, DtKinematicStateCS::DtRotationConstraint recomputeMatrix=DtKinematicStateCS::RotateAboutX) |
| Overridden to invalidate the localVV. | |
| virtual void | setParentPosition (const DtVector &position) |
| Overridden to invalidate the localVV. | |
| virtual void | setWorldOrientationMatrix (const DtDcm &orientationMatrix, bool recomputeEulers=true) |
| Directed cosine matrix for rotating from body coordinates to the geocentric coordinate system. | |
| virtual void | parentKinematicsChanged () |
| Overridden to invalidate the localVV. | |
| DtCoordSysValidationVector & | localVV () |
| No user serviceable parts inside! This accessor makes the validation vectors accessible to the object manager so that it set them when reading from the Order of battle file... | |
| virtual void | validateLocalState () |
| Called from validateState(), validates all local variables. Called from putSelf. | |
| virtual void | validateState () |
| virtual void | addLocalVertex (const DtVector &vertex, DtVector &newGeometricCenter) |
| Object geometry methods -- these methods reference some information in the world kinematic state. | |
| virtual const DtLocalVertexList & | localVertices () const |
| Returns local vertex list and iterator. | |
| virtual const DtLocalVectorIterator & | localVertexIterator () const |
| virtual void | removeVertex (int i) |
| Removes vertex at the specified position. | |
| virtual void | setGeometryNeedsUpdate (bool b) |
| Sets flags to update vertices. | |
| virtual void | invalidateLocalGeometry () |
| Sets the myLocalObjectGeometryInvalid flag to true. | |
| virtual const DtTaitBryan & | localOrientation () const |
| virtual void | setLocalOrientation (const DtTaitBryan &topoOrientation, DtKinematicStateCS::DtRotationConstraint recomputeMatrix=DtKinematicStateCS::RotateAboutX) |
| virtual void | setLocalVertices (const DtLocalVertexList &vertices, DtVector &newGeometricCenter) |
| Sets local vertices and also translates to body coordinates. | |
| virtual void | setLocalVertices (const DtList &vertices, DtVector &newGeometricCenter) |
| Sets local vertices and also translates to body coordinates. | |
Protected Member Functions | |
| virtual const DtKinematicStateCS & | localKinematicState () const |
| Get / set kinematic state in local coords. | |
| virtual DtKinematicStateCS & | localKinematicState () |
| virtual void | setLocalKinematicState (const DtKinematicStateCS &localKinematicState) |
| virtual void | clearLocalVertices () |
Protected Attributes | |
| DtKinematicStateCS | myLocalKinematicState |
| Position, velocity, acceleration, orientation (Euler and DCM), and rotational velocity in database coordinate system (same as parent for base object). | |
| DtCoordSysValidationVector | myLocalVV |
| const Coordinate_System * | myCoordinateSystemPtr |
| DtTaitBryan | myTopoOrientation |
| This data member is used in localOrientation(), to provide a way to return a const reference to a DtTaitBryan representing topo Euler angles. | |
| DtVector | myRelativeAcceleration |
| bool | myRelativeAccelerationInvalid |
| DtVector | myRelativeVelocity |
| bool | myRelativeVelocityInvalid |
| bool | myLocalObjectGeometryInvalid |
| DtLocalVertexList | myLocalVertexList |
Private Member Functions | |
| DtVrfKinematicState () | |
This class is a DtSimKinematicState with the addition of another CS for local database coordinates.
| DtVrfKinematicState::DtVrfKinematicState | ( | const Coordinate_System * | coordinateSystem, |
| DtSimObjectStateRepository * | stateRep, | ||
| const DtString & | rwName = DtString::nullString(), |
||
| DtReaderWriterRegistry * | parentRegistry = 0 |
||
| ) |
Constructor.
| DtVrfKinematicState::DtVrfKinematicState | ( | const DtVrfKinematicState & | orig, |
| const DtString & | rwName = DtString::nullString(), |
||
| DtReaderWriterRegistry * | parentRegistry = 0 |
||
| ) |
Copy Constructor.
| virtual DtVrfKinematicState::~DtVrfKinematicState | ( | ) | [virtual] |
Destructor.
| DtVrfKinematicState::DtVrfKinematicState | ( | ) | [private] |
| const DtVrfKinematicState& DtVrfKinematicState::operator= | ( | const DtVrfKinematicState & | orig | ) |
Assignment Operator.
| virtual DtSimKinematicState* DtVrfKinematicState::clone | ( | const DtString & | rwName = DtString::nullString(), |
| DtReaderWriterRegistry * | parentRegistry = 0 |
||
| ) | const [virtual] |
Clone.
Reimplemented from DtSimKinematicState.
| virtual void DtVrfKinematicState::setCoordinateSystem | ( | const Coordinate_System * | coordinateSystem | ) | [virtual] |
Sets coordinate system used in converting between local (database) and other (geocentric or topocentric) coordinates.
Must be called with a valid coordinate system before any public member functions are called.
| virtual const Coordinate_System* DtVrfKinematicState::coordinateSystem | ( | ) | const [virtual] |
| virtual const DtVector& DtVrfKinematicState::localPosition | ( | ) | const [virtual] |
Position in local (database) coordinates, in meters.
| virtual void DtVrfKinematicState::setLocalPosition | ( | const DtVector & | localPosition | ) | [virtual] |
| virtual void DtVrfKinematicState::setWorldVertices | ( | const DtList & | vertices, |
| DtVector & | newGeometricCenter | ||
| ) | [virtual] |
Override to set dirty flag for local.
Reimplemented from DtSimKinematicState.
| virtual const DtVector& DtVrfKinematicState::localVelocity | ( | ) | const [virtual] |
Velocity in local (database) coordinates, in meters/second.
| virtual void DtVrfKinematicState::setLocalVelocity | ( | const DtVector & | localVelocity, |
| bool | recomputeSpeed = true |
||
| ) | [virtual] |
| virtual DtReal DtVrfKinematicState::localSpeed | ( | ) | const [virtual] |
Speed, in meters/second.
| virtual void DtVrfKinematicState::setLocalSpeed | ( | DtReal | localSpeed | ) | [virtual] |
| virtual const DtVector& DtVrfKinematicState::localAcceleration | ( | ) | const [virtual] |
Acceleration in local (database) coordinates, in meters/second/second.
| virtual void DtVrfKinematicState::setLocalAcceleration | ( | const DtVector & | localAcceleration | ) | [virtual] |
| virtual const DtVector& DtVrfKinematicState::relativeAcceleration | ( | ) | const [virtual] |
Note that for both of the relative calls, the supplied acceleration or velocity should be in local (datbase) coordinates.
The returned values are also in local (database) coordinates If attached, returns parent and sets parent acceleration, else returns/sets local
| virtual void DtVrfKinematicState::setRelativeAcceleration | ( | const DtVector & | localAcceleration | ) | [virtual] |
| virtual const DtVector& DtVrfKinematicState::relativeVelocity | ( | ) | const [virtual] |
If attached, returns parent and sets parent velocity, else returns/sets local.
| virtual void DtVrfKinematicState::setRelativeVelocity | ( | const DtVector & | localVelocity, |
| bool | recomputeSpeed = true |
||
| ) | [virtual] |
| virtual DtVector DtVrfKinematicState::bodyVelocity | ( | ) | const [virtual] |
Returns bodyVelocity if not attached, else relative velocity.
Reimplemented from DtSimKinematicState.
| virtual void DtVrfKinematicState::invalidateRelativeVelocity | ( | ) | [virtual] |
| virtual void DtVrfKinematicState::invalidateRelativeAcceleration | ( | ) | [virtual] |
| virtual const DtTaitBryan& DtVrfKinematicState::localOrientationWrtDatabase | ( | ) | const [virtual] |
Euler angles with respect to the local (database) coordinate system, in radians.
| virtual void DtVrfKinematicState::setLocalOrientationWrtDatabase | ( | const DtTaitBryan & | localOrientation, |
| DtKinematicStateCS::DtRotationConstraint | recomputeMatrix = DtKinematicStateCS::RotateAboutX |
||
| ) | [virtual] |
| virtual const DtDcm& DtVrfKinematicState::localOrientationMatrix | ( | ) | const [virtual] |
Directed cosine matrix for rotating from body coordinates to the local (database) coordinate system.
| virtual void DtVrfKinematicState::setLocalOrientationMatrix | ( | const DtDcm & | localOrientationMatrix, |
| bool | recomputeEulers = true |
||
| ) | [virtual] |
| virtual void DtVrfKinematicState::setRotationConstraint | ( | DtKinematicStateCS::DtRotationConstraint | constraint | ) | [virtual] |
Reimplemented from DtSimKinematicState.
| virtual const DtVector& DtVrfKinematicState::worldPosition | ( | ) | const [virtual] |
Position in geocentric coordinates, in meters.
Reimplemented from DtSimKinematicState.
| virtual void DtVrfKinematicState::setWorldPosition | ( | const DtVector & | gecoentricPosition | ) | [virtual] |
Reimplemented from DtSimKinematicState.
| virtual const DtVector& DtVrfKinematicState::worldVelocity | ( | ) | const [virtual] |
Velocity in geocentric coordinates, in meters/second.
Reimplemented from DtSimKinematicState.
| virtual void DtVrfKinematicState::setWorldVelocity | ( | const DtVector & | gecoentricVelocity, |
| bool | recomputeSpeed = true |
||
| ) | [virtual] |
Reimplemented from DtSimKinematicState.
| virtual const DtVector& DtVrfKinematicState::worldAcceleration | ( | ) | const [virtual] |
Acceleration in geocentric coordinates, in meters/second/second.
Reimplemented from DtSimKinematicState.
| virtual void DtVrfKinematicState::setWorldAcceleration | ( | const DtVector & | gecoentricAcceleration | ) | [virtual] |
Reimplemented from DtSimKinematicState.
| virtual const DtTaitBryan& DtVrfKinematicState::worldOrientation | ( | ) | const [virtual] |
Euler angles with respect to the geocentric coordinate system, in radians.
Reimplemented from DtSimKinematicState.
| virtual void DtVrfKinematicState::setWorldOrientation | ( | const DtTaitBryan & | orientation, |
| DtKinematicStateCS::DtRotationConstraint | recomputeMatrix = DtKinematicStateCS::RotateAboutX |
||
| ) | [virtual] |
Reimplemented from DtSimKinematicState.
| virtual void DtVrfKinematicState::setParentOrientation | ( | const DtTaitBryan & | orientation, |
| DtKinematicStateCS::DtRotationConstraint | recomputeMatrix = DtKinematicStateCS::RotateAboutX |
||
| ) | [virtual] |
Overridden to invalidate the localVV.
Reimplemented from DtSimKinematicState.
| virtual void DtVrfKinematicState::setParentPosition | ( | const DtVector & | position | ) | [virtual] |
Overridden to invalidate the localVV.
Reimplemented from DtSimKinematicState.
| virtual void DtVrfKinematicState::setWorldOrientationMatrix | ( | const DtDcm & | orientationMatrix, |
| bool | recomputeEulers = true |
||
| ) | [virtual] |
Directed cosine matrix for rotating from body coordinates to the geocentric coordinate system.
Reimplemented from DtSimKinematicState.
| virtual void DtVrfKinematicState::parentKinematicsChanged | ( | ) | [virtual] |
Overridden to invalidate the localVV.
Reimplemented from DtSimKinematicState.
No user serviceable parts inside! This accessor makes the validation vectors accessible to the object manager so that it set them when reading from the Order of battle file...
| virtual void DtVrfKinematicState::validateLocalState | ( | ) | [virtual] |
Called from validateState(), validates all local variables. Called from putSelf.
| virtual void DtVrfKinematicState::validateState | ( | ) | [virtual] |
Reimplemented from DtSimKinematicState.
| virtual const DtTaitBryan& DtVrfKinematicState::localOrientation | ( | ) | const [virtual] |
Set/get topocentric Euler angles (heading, pitch, and roll). Use localOrientationWrtDatabase() instead, to get Euler angles with respect to the local (database) coordinate system, independent of the particular type of coordinate system in use (e.g. UTM, geocentric).
| virtual void DtVrfKinematicState::setLocalOrientation | ( | const DtTaitBryan & | topoOrientation, |
| DtKinematicStateCS::DtRotationConstraint | recomputeMatrix = DtKinematicStateCS::RotateAboutX |
||
| ) | [virtual] |
Set/get topocentric Euler angles (heading, pitch, and roll). Use localOrientationWrtDatabase() instead, to get Euler angles with respect to the local (database) coordinate system, independent of the particular type of coordinate system in use (e.g. UTM, geocentric).
| virtual void DtVrfKinematicState::addLocalVertex | ( | const DtVector & | vertex, |
| DtVector & | newGeometricCenter | ||
| ) | [virtual] |
Object geometry methods -- these methods reference some information in the world kinematic state.
Adds a new vertex to the world geometry (translating to body)
| virtual void DtVrfKinematicState::setLocalVertices | ( | const DtLocalVertexList & | vertices, |
| DtVector & | newGeometricCenter | ||
| ) | [virtual] |
Sets local vertices and also translates to body coordinates.
The new newGeometricCenter parameter is updated based on the verticies provided.
| virtual void DtVrfKinematicState::setLocalVertices | ( | const DtList & | vertices, |
| DtVector & | newGeometricCenter | ||
| ) | [virtual] |
Sets local vertices and also translates to body coordinates.
The new newGeometricCenter parameter is updated based on the verticies provided.
| virtual const DtLocalVertexList& DtVrfKinematicState::localVertices | ( | ) | const [virtual] |
Returns local vertex list and iterator.
| virtual const DtLocalVectorIterator& DtVrfKinematicState::localVertexIterator | ( | ) | const [virtual] |
| virtual void DtVrfKinematicState::removeVertex | ( | int | ) | [virtual] |
Removes vertex at the specified position.
Reimplemented from DtSimKinematicState.
| void DtVrfKinematicState::setGeometryNeedsUpdate | ( | bool | b | ) | [inline, virtual] |
Sets flags to update vertices.
Reimplemented from DtSimKinematicState.
References myLocalObjectGeometryInvalid.
| virtual void DtVrfKinematicState::invalidateLocalGeometry | ( | ) | [virtual] |
Sets the myLocalObjectGeometryInvalid flag to true.
Should be called by anyone who sets the object geometry without going though this class. Also calls invalidateWorldGeometry().
| virtual const DtKinematicStateCS& DtVrfKinematicState::localKinematicState | ( | ) | const [protected, virtual] |
Get / set kinematic state in local coords.
I don't expect the set version to be used, but it's included for completeness.
| virtual DtKinematicStateCS& DtVrfKinematicState::localKinematicState | ( | ) | [protected, virtual] |
| virtual void DtVrfKinematicState::setLocalKinematicState | ( | const DtKinematicStateCS & | localKinematicState | ) | [protected, virtual] |
| virtual void DtVrfKinematicState::clearLocalVertices | ( | ) | [protected, virtual] |
DtKinematicStateCS DtVrfKinematicState::myLocalKinematicState [mutable, protected] |
Position, velocity, acceleration, orientation (Euler and DCM), and rotational velocity in database coordinate system (same as parent for base object).
const Coordinate_System* DtVrfKinematicState::myCoordinateSystemPtr [protected] |
DtTaitBryan DtVrfKinematicState::myTopoOrientation [protected] |
This data member is used in localOrientation(), to provide a way to return a const reference to a DtTaitBryan representing topo Euler angles.
It is needed to provide a backwards compatible interface only.
DtVector DtVrfKinematicState::myRelativeAcceleration [protected] |
DtVector DtVrfKinematicState::myRelativeVelocity [protected] |
bool DtVrfKinematicState::myRelativeVelocityInvalid [protected] |
bool DtVrfKinematicState::myLocalObjectGeometryInvalid [mutable, protected] |
Referenced by setGeometryNeedsUpdate().
DtLocalVertexList DtVrfKinematicState::myLocalVertexList [mutable, protected] |