VR-Forces 4.8 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) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
10 
11 #pragma once
15 
16 #include <matrix/vlVector.h>
17 class DtTaitBryan;
18 
19 using namespace makArchives;
20 
21 namespace makVrv
22 {
23  class DtEntityStateListener;
24  class DtGroundClampingUpdaterAgent;
25  class DtSurfaceClampingUpdaterAgent;
26  class DtWaterClampingUpdaterAgent;
27  class DtDeadReckonUpdaterAgent;
28  class DtEmbarkationUpdaterAgent;
29  class DtTerrainScalingUpdaterAgent;
30 
36  {
37  public:
40  DtStateListener& listener, int modelSet);
41 
43  virtual ~DtEntityKinStateVisualizer();
44 
47  virtual void setLocation(const DtVector&);
48 
50  virtual void setLocation(const DtVector&, double time);
51 
54  virtual void setOrientation(const DtTaitBryan&);
55 
57  virtual void setOrientation(const DtTaitBryan&, double time);
58 
61  virtual void setVelocity(const DtVector32&);
62 
64  virtual void setVelocity(const DtVector32&, double time);
65 
68  virtual void setAngularVelocity(const DtVector32&);
69 
71  virtual void setAngularVelocity(const DtVector32&, double time);
72 
75  virtual void setAcceleration(const DtVector32&);
76 
78  virtual void setAcceleration(const DtVector32&, double time);
79 
80  virtual void setDeadReckoning(bool position, bool velocity,
81  bool orientation);
82 
83  virtual DtDeadReckonUpdaterAgent* findDeadReckoner();
84 
86  virtual void setEmbarked(const DtUniqueID& id);
87 
89  virtual void setVisualizerDefinition(const DtVisualizerDefinition& visDef);
90 
92  virtual void setSmoothingEnabled(bool enabled);
93 
95  virtual void setSmoothingPeriod(float scale);
96 
98  virtual void setFrozen(bool isFrozen);
99 
102  virtual void implementVisibility(bool visible);
103 
104 
106 
109  virtual void setGroundClampingCullingEnabled(bool enabled);
110 
112  virtual void setGroundClampingScale(float scale);
113 
115  virtual void setGroundClamping(bool enabled);
116 
119  virtual void setGroundClampingMode(
121 
123  virtual void setPossibleGroundClampingModes(
125 
127  virtual DtGroundClampingUpdater::GroundClampingMode groundClampingMode();
129 
132  virtual void setBuoyancyEnabled( bool enabled );
133 
136  virtual void setBuoyancyLod( float lodDistance );
137 
139  virtual void setWaterlineOriginOffset( float offset );
140 
143  virtual void setWaterClampingPossible( bool enabled );
144 
148  virtual void setIsAmphibious( bool amphibious );
149 
151  virtual bool isAmphibious() const;
152 
154  virtual void setDamageState(int damageState);
155 
156  virtual bool destroyed() const;
157 
158  virtual void resetSpatialAttributes();
159 
161  {
162  return *myEntityListener;
163  }
164 
166  virtual const DtStateVisualizer::TypeInfo& typeInfo() const;
167 
169  static const DtStateVisualizer::TypeInfo& theTypeInfo();
170 
171  protected:
172 
173  virtual void createModelAgents();
174  virtual void destroyModelAgents();
175  virtual void setModelDefinitionForAgents();
176 
177  virtual void startDeadReckoning();
178  virtual void startEmbarked();
179  virtual void startGroundClamping();
180  virtual void startWaterClamping();
181 
182  virtual void endEmbarked();
183  virtual void endGroundClamping();
184  virtual void endWaterClamping();
185 
186  virtual void buildSurfaceClampingUpdater();
187  virtual void buildGroundClampingUpdater();
188 
189  virtual void connectClampingUpdaters();
190  virtual void slot_buoyancyDefaultLODDistanceChanged( float distance );
191  virtual void slot_buoyancyMinimumCullDistanceChanged( float distance );
192  virtual void slot_buoyancyCullTypeChanged(
194 
195  protected:
196 
197 
198  DtDeadReckonUpdaterAgent* myDeadReckonUpdaterAgent;
199  DtGroundClampingUpdaterAgent* myGroundClampingUpdaterAgent;
200  DtEmbarkationUpdaterAgent* myEmbarkationUpdaterAgent;
201  DtSurfaceClampingUpdaterAgent* mySurfaceClampingUpdaterAgent;
202  DtWaterClampingUpdaterAgent* myWaterClampingUpdaterAgent;
203  DtTerrainScalingUpdaterAgent* myTerrainScalingUpdaterAgent;
204 
207 
220 
223 
224  std::string myMotionModel;
225 
228  bool myDRPos;
229  bool myDRVel;
230  bool myDROri;
233 
236  };
237 
238 
243 }
float myBuoyancyMinimumCullDistance
Definition: DtEntityKinStateVisualizer.h:215
DtEntityStateListener & entityStateListener()
Definition: DtEntityKinStateVisualizer.h:160
Contains makVrv:DtSceneObjectVisualizer class.
DtDeadReckonUpdaterAgent * myDeadReckonUpdaterAgent
Definition: DtEntityKinStateVisualizer.h:198
DtTerrainScalingUpdaterAgent * myTerrainScalingUpdaterAgent
Definition: DtEntityKinStateVisualizer.h:203
DtGroundClampingUpdater::GroundClampingMode myPossibleGroundClampingModes
Definition: DtEntityKinStateVisualizer.h:227
bool myBuoyancyEnabled
Definition: DtEntityKinStateVisualizer.h:212
bool myIsAmphibious
Definition: DtEntityKinStateVisualizer.h:231
Definition: DtStateVisualizer.h:309
std::string myMotionModel
Definition: DtEntityKinStateVisualizer.h:224
DtStateVisualizerCreatorTemplate< DtEntityKinStateVisualizer > DtEntityKinStateVisualizerCreator
Creator that will be registered with the state visualizer factory to create this class.
Definition: DtEntityKinStateVisualizer.h:242
Base class for visualizing generic objects in the scene.
Definition: DtSceneObjectVisualizer.h:27
DtUniqueID myEmbarkedParentID
Definition: DtEntityKinStateVisualizer.h:206
DtEntityStateListener * myEntityListener
Same as myListener, but casted for convenience.
Definition: DtEntityKinStateVisualizer.h:235
bool myDRVel
Definition: DtEntityKinStateVisualizer.h:229
bool myEmbarkedFlag
Definition: DtEntityKinStateVisualizer.h:205
float myBuoyancyLod
Definition: DtEntityKinStateVisualizer.h:213
DtEntitySettingsRecord::BuoyancyCullType myBuoyancyCullType
Definition: DtEntityKinStateVisualizer.h:216
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:37
DtEmbarkationUpdaterAgent * myEmbarkationUpdaterAgent
Definition: DtEntityKinStateVisualizer.h:200
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.
DtGroundClampingUpdaterAgent * myGroundClampingUpdaterAgent
Definition: DtEntityKinStateVisualizer.h:199
bool myIsDestroyed
Definition: DtEntityKinStateVisualizer.h:218
bool myWaterClampingPossible
Definition: DtEntityKinStateVisualizer.h:217
bool myUseDefaultBuoyancyLOD
Definition: DtEntityKinStateVisualizer.h:232
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
bool myDrAlgorithmSet
Definition: DtEntityKinStateVisualizer.h:219
DtWaterClampingUpdaterAgent * myWaterClampingUpdaterAgent
Definition: DtEntityKinStateVisualizer.h:202
DtSurfaceClampingUpdaterAgent * mySurfaceClampingUpdaterAgent
Definition: DtEntityKinStateVisualizer.h:201
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
float myGroundClampingScale
Definition: DtEntityKinStateVisualizer.h:210
Contains makVrv::DtGroundClampingUpdater class.
bool myDRPos
Definition: DtEntityKinStateVisualizer.h:228
bool myGroundClampingEnabled
Ground clamping members.
Definition: DtEntityKinStateVisualizer.h:209
float mySmoothingPeriod
Definition: DtEntityKinStateVisualizer.h:222
A definition of a visualizer.
Definition: DtVisualizerDefinition.h:22
bool myDROri
Definition: DtEntityKinStateVisualizer.h:230
bool myGroundClampingCullingEnabled
Definition: DtEntityKinStateVisualizer.h:211
const char int mode
Definition: ioapi.h:38
DtGroundClampingUpdater::GroundClampingMode myGroundClampingMode
Definition: DtEntityKinStateVisualizer.h:226
float myWaterlineOriginOffset
Definition: DtEntityKinStateVisualizer.h:214
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:34
Struct to hold metadata about each functional visualizer type This allows users of the factory to get...
Definition: DtStateVisualizer.h:54
Contains the DtEntitySettingsRecord class declaration.
GroundClampingMode
Ground Clamping Modes.
Definition: DtGroundClampingUpdater.h:31
bool mySmoothingEnabled
Definition: DtEntityKinStateVisualizer.h:221
DtEntityStateRepository.
Definition: DtEntityStateListener.h:39

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)