VR-Forces Developer's Guide
 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 
11 #include "readerWriter/rwVector.h"
12 #include "vrfutil/rwTaitBryan.h"
13 
14 #include <matrix/LibMatrix.h>
15 
16 class Coordinate_System;
17 
18 namespace makVrf
19 {
44  {
45  public:
46 
48  {
51  BodyToGeocentric
52  };
53 
55  {
60  UnconstrainedRotation
61  };
62 
63  public:
65  DtKinematicStateCS(DtSimOrientationType orientationType,
66  const DtString& name = DtString::nullString(),
67  DtReaderWriterRegistry* parentRegistry = nullptr);
68 
69  DtKinematicStateCS(DtSimOrientationType orientationType,
70  const DtSymbolString& name,
71  DtReaderWriterRegistry* parentRegistry = nullptr);
72 
75  const DtString& rwName = DtString::nullString(),
76  DtReaderWriterRegistry* parentRegistry = nullptr);
77 
79  const DtSymbolString& name,
80  DtReaderWriterRegistry* parentRegistry = nullptr);
81 
83  const DtKinematicStateCS& operator=(const DtKinematicStateCS& orig);
84  bool operator==(const DtKinematicStateCS&) const;
85  bool operator!=(const DtKinematicStateCS& rhs) const
86  {
87  return !(*this == rhs);
88  }
89 
91  virtual ~DtKinematicStateCS() override;
92 
94  virtual DtKinematicStateCS* clone(
95  const DtString& name = DtString::nullString(),
96  DtReaderWriterRegistry* parentRegistry = nullptr) const;
97 
98  virtual DtKinematicStateCS* clone(
99  const DtSymbolString& name,
100  DtReaderWriterRegistry* parentRegistry = nullptr) const;
101 
102  virtual void setUpdatesEnabled(bool);
103  bool updatesEnabled() const
104  {
105  return myUpdatesEnabled;
106  }
107 
109  virtual const DtVector& position() const;
110  virtual void setPosition(const DtVector& position);
111 
113  virtual const DtVector& velocity() const;
114  virtual void setVelocity(const DtVector& velocity,
115  bool recomputeSpeed = true);
116 
119  virtual DtReal speed() const;
120  virtual void setSpeed(DtReal speed);
121 
123  virtual const DtVector& acceleration() const;
124  virtual void setAcceleration(const DtVector& acceleration);
125 
127  virtual const DtTaitBryan& orientation() const;
128 
129  virtual void setOrientation(const DtTaitBryan& orientation,
130  DtRotationConstraint recomputeMatrix = RotateAboutX);
131 
133  virtual const DtDcm& orientationMatrix() const;
134  virtual DtDcm orientationMatrix(const DtTaitBryan& b) const;
135  virtual void setOrientationMatrix(const DtDcm& orientationMatrix,
136  bool recomputeEulers = true);
137 
139  virtual DtSimOrientationType orientationType() const;
140  virtual void setOrientationType(DtSimOrientationType orientationType);
141 
142  virtual DtRotationConstraint rotationConstraint() const;
143  virtual void setRotationConstraint(DtRotationConstraint contraint);
144 
145  virtual void setCoordinateSystem(const Coordinate_System* coordinateSystem);
146 
152  virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
153  const DtVariableBindingsList& variableBindings) override;
154 
155  private:
156 
159 
160  protected:
162  mutable bool myRecomputeEulers;
163  mutable bool myRecomputeSpeed;
165 
169 
172  mutable DtDcm myOrientationMatrix;
174 
176  mutable DtReal myCurrentSpeed;
177 
179 
188  };
189 }
DtRwVector myPosition
Definition: kinematicStateCS.h:166
const Coordinate_System * myCoordinateSystemPtr
Definition: kinematicStateCS.h:178
This class allows one to collect and compare strings using an index number instead of having to do st...
Definition: symbolString.h:27
class DtKinematicStateCS: DtKinematicStateCS contains the current kinematic state of an object in one...
Definition: kinematicStateCS.h:43
Definition: kinematicStateCS.h:58
DtReal myCurrentSpeed
derived quantity; used so much, it&#39;s worth caching
Definition: kinematicStateCS.h:176
DtRwVector myAcceleration
Definition: kinematicStateCS.h:168
DT_DLL_VRFGUICORE bool operator==(const std::vector< makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord > &lhs, const std::vector< makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord > &rhs)
bool updatesEnabled() const
Definition: kinematicStateCS.h:103
Definition: readerWriter.h:85
bool myRecomputeEulers
Definition: kinematicStateCS.h:162
Definition: kinematicStateCS.h:50
Description: Readable, Writable DtTaitBryan.
Definition: rwTaitBryan.h:20
Definition: readerWriterRegistry.h:39
DtRwTaitBryan myTopoOrientation
Retained for backwards compatibility. Used in parsing pre-3.5 version oob files. Registered as &quot;orien...
Definition: kinematicStateCS.h:187
DtRwVector myVelocity
Definition: kinematicStateCS.h:167
DtRotationConstraint myCurrentRotationConstraint
Definition: kinematicStateCS.h:173
Contains the DtRwTaitBryan class declaration.
DtRotationConstraint
Definition: kinematicStateCS.h:54
Definition: rwVector.h:23
Definition: kinematicStateCS.h:59
DtRwTaitBryan myOrientation
Definition: kinematicStateCS.h:171
bool myUpdatesEnabled
Definition: kinematicStateCS.h:164
DtDcm myOrientationMatrix
Definition: kinematicStateCS.h:172
Definition: coordSystem.h:54
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
DtSimOrientationType myOrientationType
Definition: kinematicStateCS.h:170
Definition: kinematicStateCS.h:49
DtRotationConstraint myRecomputeMatrix
Definition: kinematicStateCS.h:161
Definition: kinematicStateCS.h:57
#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: kinematicStateCS.h:56
DtSimOrientationType
Definition: kinematicStateCS.h:47
bool myRecomputeSpeed
Definition: kinematicStateCS.h:163
File: rwVector.h.
bool operator!=(const DtKinematicStateCS &rhs) const
Definition: kinematicStateCS.h:85

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)