VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtEntityKinStateVisualizer.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
10 
11 #pragma once
15 #include <vrvCore/DtUniqueID.h>
16 
18 
19 #include <matrix/vlVector.h>
20 class DtTaitBryan;
21 
22 using namespace makArchives;
23 
24 namespace makVrv
25 {
26  class DtEntityStateListener;
27  class DtGroundClampingUpdaterAgent;
28  class DtSurfaceClampingUpdaterAgent;
29  class DtWaterClampingUpdaterAgent;
30  class DtDeadReckonUpdaterAgent;
31  class DtEmbarkationUpdaterAgent;
32  class DtTerrainScalingUpdaterAgent;
33  class DtElement;
34 
40  {
41  public:
44  DtStateListener& listener, int modelSet);
45 
47  virtual ~DtEntityKinStateVisualizer();
48 
50  DtEntityKinStateVisualizer() = delete;
51 
54 
56  DtEntityKinStateVisualizer& operator=(const DtEntityKinStateVisualizer&) = delete;
57 
58  public:
60  virtual void setLocation(const DtVector&, double time);
61 
63  virtual void setOrientation(const DtTaitBryan&, double time);
64 
66  virtual void setVelocity(const DtVector32&, double time);
67 
69  virtual void setAngularVelocity(const DtVector32&, double time);
70 
72  virtual void setAcceleration(const DtVector32&, double time);
73 
76  virtual void setLocation(const DtVector&);
77 
80  virtual void setOrientation(const DtTaitBryan&);
81 
84  virtual void setVelocity(const DtVector32&);
85 
88  virtual void setAngularVelocity(const DtVector32&);
89 
92  virtual void setAcceleration(const DtVector32&);
93 
94  virtual void setDeadReckoning(bool position, bool velocity,
95  bool orientation);
96 
97  virtual DtDeadReckonUpdaterAgent* findDeadReckoner();
98 
100  virtual void setEmbarked(const DtUniqueID& id);
101 
103  virtual void setVisualizerDefinition(const DtVisualizerDefinition& visDef);
104 
106  virtual void setSmoothingEnabled(bool enabled);
107 
109  virtual void setSmoothingPeriod(float scale);
110 
112  virtual void setFrozen(bool isFrozen);
113 
115 
117  virtual void implementVisibility(bool visible);
120 
122  virtual void readEntityDisplaySettings();
123 
126  virtual void getEntityStateSettings();
127 
129  virtual void setGroundClampingCullingEnabled(bool enabled);
130 
132  virtual void setGroundClampingScale(float scale);
133 
135  virtual void setGroundClamping(bool enabled);
136 
139  virtual void setGroundClampingMode(
141 
143  virtual void setPossibleGroundClampingModes(
145 
147  virtual DtGroundClampingUpdater::GroundClampingMode groundClampingMode();
148 
150  virtual void orientationClampingChanged(bool enabled);
151 
153  virtual void lifeformsUprightChanged(bool enabled);
155 
158  virtual void setBuoyancyEnabled( bool enabled );
159 
162  virtual void setBuoyancyLod( float lodDistance );
163 
165  virtual void setWaterlineOriginOffset( float offset );
166 
169  virtual void setWaterClampingPossible( bool enabled );
170 
174  virtual void setIsAmphibious( bool amphibious );
175 
177  virtual bool isAmphibious() const;
178 
180  virtual void setDamageState(DtEntityStateListener::DamageState damageState);
181 
182  virtual bool destroyed() const;
183 
184  virtual void resetSpatialAttributes();
185 
186  DtEntityStateListener& entityStateListener();
187 
189  virtual const DtStateVisualizer::TypeInfo& typeInfo() const;
190 
192  static const DtStateVisualizer::TypeInfo& theTypeInfo();
193 
197  virtual void setElementID(const DtElementID& id);
198 
199  virtual std::string displayUnitCollectionName() const;
200 
201  protected:
202 
203  virtual void createModelAgents();
204  virtual void destroyModelAgents();
205  virtual void setModelDefinitionForAgents();
206 
207  virtual void startDeadReckoning();
208  virtual void startEmbarked();
209  virtual void startGroundClamping();
210  virtual void startWaterClamping();
211 
212  virtual void endEmbarked();
213  virtual void endGroundClamping();
214  virtual void endWaterClamping();
215 
216  virtual void buildSurfaceClampingUpdater();
217  virtual void buildGroundClampingUpdater();
218 
219  virtual void connectClampingUpdaters();
220  virtual void slot_buoyancyDefaultLODDistanceChanged( float distance );
221  virtual void slot_buoyancyMinimumCullDistanceChanged( float distance );
222  virtual void slot_buoyancyCullTypeChanged(
224  virtual void slot_parentSet(DtElement* parent);
225  virtual void slot_resetSmoother();
226 
227  protected:
228 
229  DtDeadReckonUpdaterAgent* myDeadReckonUpdaterAgent;
230  DtGroundClampingUpdaterAgent* myGroundClampingUpdaterAgent;
231  DtEmbarkationUpdaterAgent* myEmbarkationUpdaterAgent;
232  DtSurfaceClampingUpdaterAgent* mySurfaceClampingUpdaterAgent;
233  DtWaterClampingUpdaterAgent* myWaterClampingUpdaterAgent;
234  DtTerrainScalingUpdaterAgent* myTerrainScalingUpdaterAgent;
235 
238 
251 
254 
255  std::string myMotionModel;
256 
258 
261  bool myDRPos;
262  bool myDRVel;
263  bool myDROri;
266 
269  };
270 
271 
276 }
float myBuoyancyMinimumCullDistance
Definition: DtEntityKinStateVisualizer.h:246
Contains makVrv:DtSceneObjectVisualizer class.
DtDeadReckonUpdaterAgent * myDeadReckonUpdaterAgent
Definition: DtEntityKinStateVisualizer.h:229
DtTerrainScalingUpdaterAgent * myTerrainScalingUpdaterAgent
Definition: DtEntityKinStateVisualizer.h:234
DtGroundClampingUpdater::GroundClampingMode myPossibleGroundClampingModes
Definition: DtEntityKinStateVisualizer.h:260
bool myBuoyancyEnabled
Definition: DtEntityKinStateVisualizer.h:243
bool myIsAmphibious
Definition: DtEntityKinStateVisualizer.h:264
Definition: DtStateVisualizer.h:322
std::string myMotionModel
Definition: DtEntityKinStateVisualizer.h:255
DtStateVisualizerCreatorTemplate< DtEntityKinStateVisualizer > DtEntityKinStateVisualizerCreator
Creator that will be registered with the state visualizer factory to create this class.
Definition: DtEntityKinStateVisualizer.h:275
Base class for visualizing generic objects in the scene.
Definition: DtSceneObjectVisualizer.h:24
std::string myDisplayUnitCollectionName
Definition: DtEntityKinStateVisualizer.h:257
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
DtUniqueID myEmbarkedParentID
Definition: DtEntityKinStateVisualizer.h:237
bool myDRVel
Definition: DtEntityKinStateVisualizer.h:262
bool myEmbarkedFlag
Definition: DtEntityKinStateVisualizer.h:236
float myBuoyancyLod
Definition: DtEntityKinStateVisualizer.h:244
The DtElement class implements the common behavior of simulation based elements added to the scene...
Definition: DtElement.h:29
DtEntitySettingsRecord::BuoyancyCullType myBuoyancyCullType
Definition: DtEntityKinStateVisualizer.h:247
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:34
DtEmbarkationUpdaterAgent * myEmbarkationUpdaterAgent
Definition: DtEntityKinStateVisualizer.h:231
BuoyancyCullType
Definition: DtEntitySettingsRecord.h:22
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points.
Contains makVrv:DtEntityStateListener class.
DtGroundClampingUpdaterAgent * myGroundClampingUpdaterAgent
Definition: DtEntityKinStateVisualizer.h:230
bool myIsDestroyed
Definition: DtEntityKinStateVisualizer.h:249
bool myWaterClampingPossible
Definition: DtEntityKinStateVisualizer.h:248
bool myUseDefaultBuoyancyLOD
Definition: DtEntityKinStateVisualizer.h:265
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
bool myDrAlgorithmSet
Definition: DtEntityKinStateVisualizer.h:250
DtWaterClampingUpdaterAgent * myWaterClampingUpdaterAgent
Definition: DtEntityKinStateVisualizer.h:233
DtSurfaceClampingUpdaterAgent * mySurfaceClampingUpdaterAgent
Definition: DtEntityKinStateVisualizer.h:232
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
float myGroundClampingScale
Definition: DtEntityKinStateVisualizer.h:241
Contains makVrv::DtGroundClampingUpdater class.
bool myDRPos
Definition: DtEntityKinStateVisualizer.h:261
bool myGroundClampingEnabled
Ground clamping members.
Definition: DtEntityKinStateVisualizer.h:240
float mySmoothingPeriod
Definition: DtEntityKinStateVisualizer.h:253
A definition of a visualizer.
Definition: DtVisualizerDefinition.h:22
bool myDROri
Definition: DtEntityKinStateVisualizer.h:263
bool myGroundClampingCullingEnabled
Definition: DtEntityKinStateVisualizer.h:242
DamageState
Definition: DtEntityStateListener.h:88
const char int mode
Definition: ioapi.h:38
Contains makVrv::DtUniqueID type.
DtEntityStateListener & myEntityListener
Same as myListener, but casted for convenience.
Definition: DtEntityKinStateVisualizer.h:268
DtGroundClampingUpdater::GroundClampingMode myGroundClampingMode
Definition: DtEntityKinStateVisualizer.h:259
float myWaterlineOriginOffset
Definition: DtEntityKinStateVisualizer.h:245
voidpf uLong offset
Definition: ioapi.h:42
The DtStateListener is an abstract class.
Definition: DtStateListener.h:21
Visualizes the kinematic state of an entity by moving a scene object.
Definition: DtEntityKinStateVisualizer.h:38
Struct to hold metadata about each functional visualizer type This allows users of the factory to get...
Definition: DtStateVisualizer.h:56
Contains the DtEntitySettingsRecord class declaration.
GroundClampingMode
Ground Clamping Modes.
Definition: DtGroundClampingUpdater.h:31
bool mySmoothingEnabled
Definition: DtEntityKinStateVisualizer.h:252
DtEntityStateListener.
Definition: DtEntityStateListener.h:44

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)