VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rwVrfKinematicState.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
10 
13 
14 namespace makVrf
15 {
22  class DtRwVrfKinematicState;
23  typedef DtRwVrfKinematicState* (*DtRwVrfKinematicStateCreatorFcn)();
24 
26  {
27  public:
30  DtRwVrfKinematicState(const Coordinate_System* coordinateSystem);
32 
33  DtRwVrfKinematicState(const Coordinate_System* coordinateSystem,
34  const DtString& rwName, DtReaderWriterRegistry * parentRegistry = 0);
35 
37  DtRwVrfKinematicState(const DtRwVrfKinematicState& orig, const DtString& rwName,
38  DtReaderWriterRegistry * parentRegistry = 0);
39 
41  const DtRwVrfKinematicState& operator=(const DtRwVrfKinematicState& orig);
42 
43  bool operator==(const DtRwVrfKinematicState& orig) const;
44  bool operator!=(const DtRwVrfKinematicState& orig) const
45  {
46  return !(*this == orig);
47  }
48 
49  bool operator==(const DtRwSimKinematicState& orig) const;
50  bool operator!=(const DtRwSimKinematicState& orig) const
51  {
52  return !(*this == orig);
53  }
54 
56  virtual ~DtRwVrfKinematicState();
57 
59  virtual DtRwSimKinematicState* clone(
60  const DtString& rwName = DtString::nullString(),
61  DtReaderWriterRegistry * parentRegistry = 0) const;
62 
66  virtual void setCoordinateSystem(const Coordinate_System* coordinateSystem);
67  virtual const Coordinate_System* coordinateSystem() const;
68 
70  virtual const DtVector& localPosition() const;
71  virtual const DtVector& worldPosition() const;
72  virtual void setLocalPosition(const DtVector& localPosition);
73  virtual void setWorldPosition(const DtVector& localPosition);
74  virtual void setParentPosition(const DtVector& localPosition);
75  virtual void validateLocalState();
76 
79  virtual const DtVector&localVelocity() const;
80  virtual const DtVector&worldVelocity() const;
81  virtual void setLocalVelocity(const DtVector& localVelocity,
82  bool recomputeSpeed = true);
83  virtual void setWorldVelocity(const DtVector& localVelocity,
84  bool recomputeSpeed = true);
85 
87  DtReal localSpeed() const;
88  void setLocalSpeed(DtReal localSpeed);
89 
92  virtual const DtVector& localAcceleration() const;
93  virtual const DtVector& worldAcceleration() const;
94  virtual void setLocalAcceleration(const DtVector& localAcceleration);
95  virtual void setWorldAcceleration(const DtVector& localAcceleration);
96 
101  virtual const DtVector& relativeAcceleration() const;
102  virtual void setRelativeAcceleration(const DtVector& localAcceleration);
103 
105  {
106  return myLocalKinematicState;
107  }
108 
110  virtual const DtVector& relativeVelocity() const;
111  virtual void setRelativeVelocity(const DtVector& localVelocity,
112  bool recomputeSpeed = true);
113 
115  virtual DtVector bodyVelocity() const;
116 
119  virtual const DtTaitBryan& localOrientationWrtDatabase() const;
120  virtual void setLocalOrientationWrtDatabase(const DtTaitBryan& localOrientation,
122 
125  virtual const DtDcm& localOrientationMatrix() const;
126  virtual void setLocalOrientationMatrix(const DtDcm& localOrientationMatrix,
127  bool recomputeEulers = true);
128  virtual void setWorldOrientationMatrix(const DtDcm& localOrientationMatrix,
129  bool recomputeEulers = true);
130 
131  virtual void setRotationConstraint(
133 
141  virtual const DtTaitBryan& localOrientation() const;
142  virtual const DtTaitBryan& worldOrientation() const;
143  virtual void setLocalOrientation(const DtTaitBryan& topoOrientation,
145  virtual void setWorldOrientation(const DtTaitBryan& topoOrientation,
147  virtual void setParentOrientation(const DtTaitBryan& topoOrientation,
150 
153  public:
154 
155  DtCoordSysValidationVector& localVV();
156  const DtCoordSysValidationVector& localVV() const;
157 
158  virtual void invalidateState();
159  virtual void validateState();
160 
161  virtual void invalidateRelativeVelocity();
162  virtual void validateRelativeVelocity();
163 
164  virtual void invalidateRelativeAcceleration();
165  virtual void validateRelativeAcceleration();
166 
167  static DtRwVrfKinematicState* create();
168  static DtRwVrfKinematicStateCreatorFcn setRwVrfKinematicStateCreatorFcn(DtRwVrfKinematicStateCreatorFcn);
169 
170  protected:
171  virtual void detach();
172  virtual void attach();
173  virtual void postGetSelf();
174 
175  protected:
176 
182 
184 
188  mutable DtTaitBryan myTopoOrientation;
189 
192 
195 
197  };
198 }
DtVector myRelativeAcceleration
Definition: rwVrfKinematicState.h:190
class DtKinematicStateCS: DtKinematicStateCS contains the current kinematic state of an object in one...
Definition: kinematicStateCS.h:43
bool operator!=(const DtRwSimKinematicState &orig) const
Definition: rwVrfKinematicState.h:50
DT_DLL_VRFGUICORE bool operator==(const std::vector< makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord > &lhs, const std::vector< makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord > &rhs)
bool myRelativeVelocityInvalid
Definition: rwVrfKinematicState.h:194
Definition: readerWriterRegistry.h:39
DtRwVrfKinematicState *(* DtRwVrfKinematicStateCreatorFcn)()
Definition: rwVrfKinematicState.h:23
DtTaitBryan myTopoOrientation
This data member is used in localOrientation(), to provide a way to return a const reference to a DtT...
Definition: rwVrfKinematicState.h:188
const Coordinate_System * myCoordinateSystemPtr
Definition: rwVrfKinematicState.h:183
class DtRwSimKinematicState: This class encapsulates the kinematic state of an object wrt to the netw...
Definition: rwSimKinematicState.h:37
DtRotationConstraint
Definition: kinematicStateCS.h:54
Definition: coordSystem.h:54
bool myRelativeAccelerationInvalid
Definition: rwVrfKinematicState.h:191
bool operator!=(const DtRwVrfKinematicState &orig) const
Definition: rwVrfKinematicState.h:44
static DtRwVrfKinematicStateCreatorFcn theRwVrfKinematicStateCreatorFcn
Definition: rwVrfKinematicState.h:196
DtVector myRelativeVelocity
Definition: rwVrfKinematicState.h:193
const DtKinematicStateCS & localKinematicState() const
Definition: rwVrfKinematicState.h:104
Definition: kinematicStateCS.h:57
Definition: rwVrfKinematicState.h:25
#define DT_DLL_vrfStateData
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfStateDataDefines.h:26
Definition: coordSysValidationVector.h:20
DtCoordSysValidationVector myLocalVV
Definition: rwVrfKinematicState.h:181
DtKinematicStateCS myLocalKinematicState
Position, velocity, acceleration, orientation (Euler and DCM), and rotational velocity in database co...
Definition: rwVrfKinematicState.h:180

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)