VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtCigiEntityVisualizer.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2020 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCigi/vrvCigi.h>
13 
15 #include <vrvCore/DtUniqueID.h>
16 
18 
19 #include <matrix/vlTaitBryan.h>
20 #include <matrix/vlVector.h>
21 
22 #include <vrvUtil/signalslib.h>
23 
24 #include <map>
25 #include <stdint.h> // for uint**_t
26 
27 #include <CigiShortArtPartCtrlV3.h>
28 
29 class CigiBaseRateCtrl;
30 class CigiShortCompCtrlV3_3;
31 
32 class CigiEntityCtrlV3_3;
33 class CigiEntityCtrlV4;
34 
35 class CigiBaseEntityCtrl;
36 class CigiBaseEntityPositionCtrl;
37 class CigiBaseAnimationCtrl;
38 class CigiAnimationCtrlV4;
39 
40 class CigiBaseArtPartCtrl;
41 class CigiBaseShortArtPartCtrl;
42 
43 class CigiBaseCompCtrl;
44 class CigiCompCtrlV3_3;
45 class CigiCompCtrlV4;
46 
47 namespace makCigiExt
48 {
49  class DtCigiDiGuyCtrl;
50  class DtCigiBaseDiGuyCtrlExt;
51  class DtCigiBaseDiGuyExecuteGesture;
52  class DtCigiBaseDiGuyEndGesture;
53 }
54 
55 namespace makVrv
56 {
57  class DtAgentManagerInterface;
58  class DtCigiBaseEntity;
59  class DtCigiConnection;
60  class DtCigiEntity;
61  class DtCigiAnimationEntity;
62  class DtCigiParticleSystemEntity;
63  class DtCigiWatercraftEntity;
64  class DtCigiCharacterEntity;
65 
70  {
71  public:
72 
74 
75  typedef std::map<int, DtCigiBaseEntity*> IdToEntityMap;
76 
78  virtual ~DtCigiEntityVisualizer();
79 
82  virtual DtUniqueID uniqueIdForCigiEntity(int cigiEntId) const;
83 
86  virtual const DtCigiBaseEntity* cigiEntity(int entityId) const;
87 
90  virtual DtCigiBaseEntity* cigiEntity(int entityId);
91 
94  virtual int findEntityWithUniqueId(DtUniqueID idToFind) const;
95 
96  virtual void restart();
97 
99  IdToEntityMap& entityList()
101  {
102  return myIdToEntityMap;
103  }
104 
105  const IdToEntityMap& entityList() const
106  {
107  return myIdToEntityMap;
108  }
110 
111  protected:
114  DtAgentManagerInterface& aSceneInterface);
115 
118  virtual void processEntityControl(CigiBaseEntityCtrl& packet);
119 
123  virtual void processRateControl( CigiBaseRateCtrl& packet);
124 
128  virtual void processVelocityControl( CigiBaseRateCtrl& packet );
129 
131  virtual void processArtPartControl( CigiBaseArtPartCtrl& packet);
132 
134  virtual void processShortArtPartControl( const CigiBaseShortArtPartCtrl& packet );
135 
138  virtual void slot_processComponentControl( CigiBaseCompCtrl& packet);
139 
142  virtual void slot_processShortComponentControl( CigiBaseCompCtrl& packet);
143 
145  virtual void processDiGuyControl(const makCigiExt::DtCigiDiGuyCtrl& packet);
146 
148  virtual void processDiGuyControlExt(const makCigiExt::DtCigiBaseDiGuyCtrlExt& packet);
149 
151  virtual void processDiGuyExecuteGesture(const makCigiExt::DtCigiBaseDiGuyExecuteGesture& packet);
152 
154  virtual void processDiGuyEndGesture(const makCigiExt::DtCigiBaseDiGuyEndGesture& packet);
155 
159  virtual void processEntityPositionControl(CigiBaseEntityPositionCtrl& packet);
160 
165  virtual void processAnimationControl(CigiBaseAnimationCtrl& packet);
166 
171  virtual void processEntityV4(const CigiEntityCtrlV4& packet);
172 
175  virtual void processEntityV3(const CigiEntityCtrlV3_3& packet);
176 
181  virtual void setEntityControlTspi(
182  const CigiEntityCtrlV3_3& packet, DtCigiBaseEntity* entity);
183 
186  virtual void setEntityControlAnimationState(const CigiEntityCtrlV3_3& packet,
187  DtCigiBaseEntity* entity);
188 
190  virtual void setParticleSystemAnimationState( CigiAnimationCtrlV4 & packet,
191  DtCigiParticleSystemEntity* particleSystem );
192  virtual void setAnimationEntityAnimationState( CigiAnimationCtrlV4 & packet,
193  DtCigiAnimationEntity* animationEntity );
194  virtual void setWaterCraftEntityAnimationState( CigiAnimationCtrlV4 & packet,
195  DtCigiWatercraftEntity* watercraftEntity );
196  virtual void setEntityAnimationState( CigiAnimationCtrlV4 & packet,
197  DtCigiEntity* cigiEntity );
198 
200  virtual void performComponentControlV3( CigiCompCtrlV3_3& packet );
201 
204  virtual void performComponentControlV4( CigiCompCtrlV4& packet );
205 
206 
207 
210  virtual DtCigiBaseEntity* createNewEntity(
211  int entityId, int entityType);
212 
214  virtual void removeEntity(int entityId);
215 
218  virtual void setArtPartWithDof(int partId, float val,
219  CigiBaseShortArtPartCtrl::DofSelectGrp selection,
220  DtCigiBaseEntity* entity);
221 
222 
225  virtual void resetSpatialAttributes();
226 
227  protected:
229  DtCigiEntityVisualizer& operator=(const DtCigiEntityVisualizer& orig);
230  protected:
231  std::map<int, DtCigiBaseEntity*> myIdToEntityMap;
234  };
235 
238  {
239  public:
242 
245 
247  static DtCigiEntityVisualizerCreator& instance( DtDe& de );
248 
250  static DtCigiEntityVisualizerCreator& instance( DtCigiConnection& con );
251 
253  virtual DtCigiEntityVisualizerCreator* clone();
254 
256  static void copyInstance(DtCigiConnection& con, DtDe& de);
257 
259  virtual DtCigiEntityVisualizer* create( DtCigiConnection& connection,
260  DtAgentManagerInterface& aSceneInterface ) const;
261  };
262 }
Creator class for the Entity Visualizer.
Definition: DtCigiEntityVisualizer.h:237
Virtual base class.
Definition: DtVirtualBaseClass.h:19
The base class for all execute gesture packets.
Definition: DtCigiBaseDiGuyExecuteGesture.h:34
This class is responsible for processing various CIGI messages that pertain to CIGI entities and sett...
Definition: DtCigiEntityVisualizer.h:69
The base class for all DiGuy Control (extended) packets.
Definition: DtCigiBaseDiGuyCtrlExt.h:34
This is the original DiGuy control packet for V3.
Definition: DtCigiDiGuyCtrl.h:57
DtAgentManagerInterface & mySceneInterface
Definition: DtCigiEntityVisualizer.h:232
Contains DLL export macros.
A DtCigiWatercraftEntity is a CIGI entity that manages buoyancy and the the parenting of wake entitie...
Definition: DtCigiWaterCraftEntity.h:36
A DtCigiParticleSystemEntity is a CIGI entity that loads a particle system model. ...
Definition: DtCigiParticleSystemEntity.h:28
const IdToEntityMap & entityList() const
Definition: DtCigiEntityVisualizer.h:105
Contains makVrv::DtVirtualBaseClass class.
This class is responsible for the actual processing of CIGI data.
Definition: DtCigiConnection.h:57
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
A DtCigiAnimationEntity is a CIGI entity that loads an animation model.
Definition: DtCigiAnimationEntity.h:22
std::map< int, DtCigiBaseEntity * > myIdToEntityMap
Definition: DtCigiEntityVisualizer.h:231
Contains makVrv::DtUniqueID type.
A DtCigiEntity is a base CIGI entity that loads an articulated model.
Definition: DtCigiEntity.h:32
This class provides an abstract base class for CIGI entities.
Definition: DtCigiBaseEntity.h:42
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:33
Contains makVrv::DtSharedSettingsManager class.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
#define DT_DLL_VRVCIGI
Definition: vrvCigi.h:19
The base end gesture class for all packets.
Definition: DtCigiBaseDiGuyEndGesture.h:34
DtCigiConnection & myConnection
Definition: DtCigiEntityVisualizer.h:233
std::map< int, DtCigiBaseEntity * > IdToEntityMap
Definition: DtCigiEntityVisualizer.h:75

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)