VR-Forces 4.2 Class Documentation
vrfKinState.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2007 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: vrfKinState.h,v $ $Revision: 1.37 $ $State: Exp $
7 *******************************************************************************/
8 #ifndef vrfKinState_H_
9 #define vrfKinState_H_
10 
13 
14 #include "vrfobjcore/kinState.h"
15 #include "vrfobjcore/csValidVec.h"
16 #include "vrfutil/lclVecIter.h"
17 
24 {
25 public:
27  DtVrfKinematicState(const Coordinate_System* coordinateSystem,
29  const DtString& rwName = DtString::nullString(),
30  DtReaderWriterRegistry * parentRegistry = 0);
31 
34  const DtString& rwName = DtString::nullString(),
35  DtReaderWriterRegistry * parentRegistry = 0);
36 
39 
41  virtual ~DtVrfKinematicState();
42 
44  virtual DtSimKinematicState* clone(
45  const DtString& rwName = DtString::nullString(),
46  DtReaderWriterRegistry * parentRegistry = 0) const;
47 
51  virtual void setCoordinateSystem(const Coordinate_System* coordinateSystem);
52  virtual const Coordinate_System* coordinateSystem() const;
53 
55  virtual const DtVector& localPosition() const;
56  virtual void setLocalPosition(const DtVector& localPosition);
57 
59  virtual void setWorldVertices(const DtList& vertices, DtVector& newGeometricCenter);
60 
62  virtual const DtVector& localVelocity() const;
63  virtual void setLocalVelocity(const DtVector& localVelocity,
64  bool recomputeSpeed = true);
65 
67  virtual DtReal localSpeed() const;
68  virtual void setLocalSpeed(DtReal localSpeed);
69 
71  virtual const DtVector& localAcceleration() const;
72  virtual void setLocalAcceleration(const DtVector& localAcceleration);
73 
78  virtual const DtVector& relativeAcceleration() const;
79  virtual void setRelativeAcceleration(const DtVector& localAcceleration);
80 
82  virtual const DtVector& relativeVelocity() const;
83  virtual void setRelativeVelocity(const DtVector& localVelocity,
84  bool recomputeSpeed = true);
85 
87  virtual DtVector bodyVelocity() const;
88 
89  virtual void invalidateRelativeVelocity();
90  virtual void invalidateRelativeAcceleration();
91 
94  virtual const DtTaitBryan& localOrientationWrtDatabase() const;
95  virtual void setLocalOrientationWrtDatabase(
96  const DtTaitBryan& localOrientation,
98 
101  virtual const DtDcm& localOrientationMatrix() const;
102  virtual void setLocalOrientationMatrix(const DtDcm& localOrientationMatrix,
103  bool recomputeEulers = true);
104 
105  virtual void setRotationConstraint(
107 
109  virtual const DtVector& worldPosition() const;
110  virtual void setWorldPosition(const DtVector& gecoentricPosition);
111 
113  virtual const DtVector& worldVelocity() const;
114  virtual void setWorldVelocity(const DtVector& gecoentricVelocity,
115  bool recomputeSpeed = true);
116 
118  virtual const DtVector& worldAcceleration() const;
119  virtual void setWorldAcceleration(const DtVector& gecoentricAcceleration);
120 
123  virtual const DtTaitBryan& worldOrientation() const;
124  virtual void setWorldOrientation(const DtTaitBryan& orientation,
126 
128  virtual void setParentOrientation(const DtTaitBryan& orientation,
130 
132  virtual void setParentPosition(const DtVector& position);
133 
136  virtual void setWorldOrientationMatrix(const DtDcm& orientationMatrix,
137  bool recomputeEulers = true);
138 #if 0
139  virtual const DtDcm& worldOrientationMatrix() const;
140 #endif
141 
143  virtual void parentKinematicsChanged();
144 
148  DtCoordSysValidationVector& localVV();
149 
151  virtual void validateLocalState();
152  virtual void validateState();
153 
161  virtual const DtTaitBryan& localOrientation() const;
162  virtual void setLocalOrientation(const DtTaitBryan& topoOrientation,
165 
168 public:
170  virtual void addLocalVertex(const DtVector& vertex, DtVector& newGeometricCenter);
171 
175  virtual void setLocalVertices(const DtLocalVertexList& vertices,
176  DtVector& newGeometricCenter);
177  virtual void setLocalVertices(const DtList& vertices,
178  DtVector& newGeometricCenter);
180 
182  virtual const DtLocalVertexList& localVertices() const;
183  virtual const DtLocalVectorIterator& localVertexIterator() const;
184  virtual void removeVertex(int i);
185  virtual void setGeometryNeedsUpdate(bool b);
186 
191  virtual void invalidateLocalGeometry();
192 
193 protected:
196  virtual const DtKinematicStateCS& localKinematicState() const;
197  virtual DtKinematicStateCS& localKinematicState();
198 
199  virtual void setLocalKinematicState(
200  const DtKinematicStateCS& localKinematicState);
201  virtual void clearLocalVertices();
202 
203 private:
204 
206 
207 protected:
208 
213 
215 
216  const Coordinate_System* myCoordinateSystemPtr;
217 
221  DtTaitBryan myTopoOrientation;
222 
225 
228 
231 };
232 
233 
235 {
237 
239 }
240 
241 #endif

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)