VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
kinematicStateCS.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 "readerWriter/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 DtReaderWriter::SearchPaths& searchPaths,
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 
165 
174 };
175 
Definition: kinematicStateCS.h:48
class DtKinematicStateCS: DtKinematicStateCS contains the current kinematic state of an object in one...
Definition: kinematicStateCS.h:42
Definition: kinematicStateCS.h:49
Definition: symbolString.h:20
DtRotationConstraint myRecomputeMatrix
Definition: kinematicStateCS.h:148
Definition: kinematicStateCS.h:58
DtRwVector myVelocity
Definition: kinematicStateCS.h:153
DtReal myCurrentSpeed
derived quantity; used so much, it&#39;s worth caching
Definition: kinematicStateCS.h:162
Definition: readerWriter.h:85
DtRotationConstraint
Definition: kinematicStateCS.h:53
File: rwTaitBryan.h.
Definition: rwTaitBryan.h:24
Definition: readerWriterRegistry.h:39
Definition: kinematicStateCS.h:56
Definition: kinematicStateCS.h:55
Definition: rwVector.h:23
DtRotationConstraint myCurrentRotationConstraint
Definition: kinematicStateCS.h:159
Definition: coordSystem.h:54
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
Definition: kinematicStateCS.h:57
DtRwTaitBryan myTopoOrientation
Retained for backwards compatibility.
Definition: kinematicStateCS.h:173
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
DtDcm myOrientationMatrix
Definition: kinematicStateCS.h:158
virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
Top level to read itself from an input stream.
bool myRecomputeEulers
Definition: kinematicStateCS.h:149
DtRwVector myAcceleration
Definition: kinematicStateCS.h:154
DtRwTaitBryan myOrientation
Definition: kinematicStateCS.h:157
bool myRecomputeSpeed
Definition: kinematicStateCS.h:150
DtSimOrientationType
Definition: kinematicStateCS.h:46
const DtReaderWriter & operator=(const DtReaderWriter &orig)
assignment operator
DtRwVector myPosition
Definition: kinematicStateCS.h:152
const Coordinate_System * myCoordinateSystemPtr
Definition: kinematicStateCS.h:164
File: rwVector.h.
DtSimOrientationType myOrientationType
Definition: kinematicStateCS.h:156

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)