VR-Forces 4.2 Class Documentation
kinStateCS.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2001 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 #pragma once
6 
9 
10 #include "vrfutil/rwVector.h"
11 #include "vrfutil/rwTaitBryan.h"
12 
13 #include <matrix/LibMatrix.h>
14 
15 class Coordinate_System;
16 
17 
43 {
44 public:
45 
47 {
50  BodyToGeocentric
51 };
52 
54 {
59  UnconstrainedRotation
60 };
61 
62 public:
64  DtKinematicStateCS(DtSimOrientationType orientationType,
65  const DtString& name = DtString::nullString(),
66  DtReaderWriterRegistry* parentRegistry = NULL);
67 
68  DtKinematicStateCS(DtSimOrientationType orientationType,
69  const DtSymbolString& name,
70  DtReaderWriterRegistry* parentRegistry = NULL);
71 
74  const DtString& rwName = DtString::nullString(),
75  DtReaderWriterRegistry* parentRegistry = NULL);
76 
78  const DtSymbolString& name,
79  DtReaderWriterRegistry* parentRegistry = NULL);
80 
83 
85  virtual ~DtKinematicStateCS();
86 
88  virtual DtKinematicStateCS* clone(
89  const DtString& name = DtString::nullString(),
90  DtReaderWriterRegistry* parentRegistry = NULL) const;
91 
92  virtual DtKinematicStateCS* clone(
93  const DtSymbolString& name,
94  DtReaderWriterRegistry* parentRegistry = NULL) const;
95 
97  virtual const DtVector& position() const;
98  virtual void setPosition(const DtVector& position);
99 
101  virtual const DtVector& velocity() const;
102  virtual void setVelocity(const DtVector& velocity,
103  bool recomputeSpeed = true);
104 
107  virtual DtReal speed() const;
108  virtual void setSpeed(DtReal speed);
109 
111  virtual const DtVector& acceleration() const;
112  virtual void setAcceleration(const DtVector& acceleration);
113 
115  virtual const DtTaitBryan& orientation() const;
116 
117  virtual void setOrientation(const DtTaitBryan& orientation,
118  DtRotationConstraint recomputeMatrix = RotateAboutX);
119 
121  virtual const DtDcm& orientationMatrix() const;
122  virtual void setOrientationMatrix(const DtDcm& orientationMatrix,
123  bool recomputeEulers = true);
124 
126  virtual DtSimOrientationType orientationType() const;
127  virtual void setOrientationType(DtSimOrientationType orientationType);
128 
129  virtual DtRotationConstraint rotationConstraint() const;
130  virtual void setRotationConstraint(DtRotationConstraint contraint);
131 
132  virtual void setCoordinateSystem(const Coordinate_System* coordinateSystem);
133 
139  virtual void getSelf(DtlObjPtr args, const DtFilename& searchPath,
140  const DtVariableBindingsList& variableBindings);
141 
142 private:
143 
146 
147 protected:
149  mutable bool myRecomputeEulers;
150  mutable bool myRecomputeSpeed;
151 
155 
158  mutable DtDcm myOrientationMatrix;
160 
162  mutable DtReal myCurrentSpeed;
163 
164  const Coordinate_System* myCoordinateSystemPtr;
165 
174 };
175 

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)