VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtVrlinkEntityKinStateVisualizer.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
10 
11 #pragma once
14 
15 #include <vrvUtil/signalslib.h>
16 
17 #include <matrix/vlVector.h>
18 
19 namespace makVrv
20 {
21  namespace DT_PROTOCOL_NAMESPACE
22  {
24  {
25  protected:
26  enum DirtyBits
27  {
28  DirtyLocation = 1 << 0,
29  DirtyVelocity = 1 << 1,
30  DirtyAcceleration = 1 << 2,
31  DirtyOrientation = 1 << 3,
32  DirtyRotationalVelocity = 1 << 4,
33  DirtySmoother = 1 << 5,
34  };
35 
36  public:
37  DtVrlinkEntityKinStateVisualizer(DtBaseConnection& simulation, DtStateListener& listener, int modelSet);
38 
40 
41  public:
42 
44  virtual void createModelAgents();
45 
47  virtual void setLocation(const DtVector&);
48  virtual void setLocation(const DtVector&, double time);
49  virtual void relativeLocationSet(const DtVector&);
50 
52  virtual void setOrientation(const DtTaitBryan&);
53  virtual void setOrientation(const DtTaitBryan&, double time);
54  virtual void relativeOrientationSet(const DtTaitBryan&);
55 
57  virtual void setVelocity(const DtVector32&);
58  virtual void setVelocity(const DtVector32&, double time);
59  virtual void relativeVelocitySet(const DtVector32&);
60 
62  virtual void setAngularVelocity(const DtVector32&);
63  virtual void setAngularVelocity(const DtVector32&, double time);
64  virtual void relativeAngularVelocitySet(const DtVector32&);
65 
67  virtual void setAcceleration(const DtVector32&);
68  virtual void setAcceleration(const DtVector32&, double time);
69  virtual void relativeAccelerationSet(const DtVector32&);
70 
72  bool anythingDirty() const;
73 
74  protected:
75 #if 0
76  virtual void createUpdater();
78 
80  virtual void createEmbarkedUpdater();
81 #endif
82  virtual void startDeadReckoning();
83 
85  virtual void postUpdate();
86 
87  void flagLocationDirty();
88  void flagVelocityDirty();
89  void flagAccelerationDirty();
90  void flagOrientationDirty();
91  void flagRotationalVelocityDirty();
92  void flagSmootherDirty();
93 
94  void flagAllSpatialDirty();
95 
96  void makeClean();
97 
99  virtual void setHostGlobalId(const std::string& id);
100 
103  virtual void slot_entityCreated(DtVrlinkEntityStateListener& esl);
104 
107  virtual void slot_entityElementToBeDestroyed(DtVrlinkEntityStateListener& listener);
108 
109  virtual void slot_onCoordinateSystemChanged();
110  virtual void slot_postUpdateCallback();
111 
113  virtual void resetSpatialAttributes();
114 
116  virtual void setAlgorithm();
117 
119  virtual void setEntityType(const std::string& type);
120 
122  virtual void orientationClampingChanged(bool enabled);
123 
125  virtual void lifeformsUprightChanged(bool enabled);
126 
127  virtual void endEmbarked();
128 
130  virtual void startEmbarked();
131 
132  protected:
133  unsigned int myDirtyBits;
134 
137 
140 
143 
145  {
146  DtVector32 value;
148  };
149 
151  {
154  };
155 
161 
163  boost::signals::connection myEmbarkationParentConnection;
164  };
165 
167  }
168 }
Contains makVrv:DtEntityKinStateVisualizer class.
DtStateVisualizerCreatorTemplate< DtVrlinkEntityKinStateVisualizer > DtVrlinkEntityKinStateVisualizerCreator
Definition: DtVrlinkEntityKinStateVisualizer.h:166
Definition: DtStateVisualizer.h:309
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:37
#define DT_PROTOCOL_NAMESPACE
Make VR-Vantage VRLink code export with library #ifdef DL_DLL_IGCONVRLINK #undef DL_DLL_IGCONVRLINK #...
Definition: export.h:32
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

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)