VR-Forces 4.8 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 <boost/signal.hpp>
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  boost::signal<void(int entityId)> signal_entityToBeDeleted;
100 
101 
103  IdToEntityMap& entityList()
105  {
106  return myIdToEntityMap;
107  }
108 
109  const IdToEntityMap& entityList() const
110  {
111  return myIdToEntityMap;
112  }
114 
115  protected:
118  DtAgentManagerInterface& aSceneInterface);
119 
122  virtual void processEntityControl(CigiBaseEntityCtrl& packet);
123 
127  virtual void processRateControl( CigiBaseRateCtrl& packet);
128 
132  virtual void processVelocityControl( CigiBaseRateCtrl& packet );
133 
135  virtual void processArtPartControl( CigiBaseArtPartCtrl& packet);
136 
138  virtual void processShortArtPartControl( const CigiBaseShortArtPartCtrl& packet );
139 
142  virtual void slot_processComponentControl( CigiBaseCompCtrl& packet);
143 
146  virtual void slot_processShortComponentControl( CigiBaseCompCtrl& packet);
147 
149  virtual void processDiGuyControl(const makCigiExt::DtCigiDiGuyCtrl& packet);
150 
152  virtual void processDiGuyControlExt(const makCigiExt::DtCigiBaseDiGuyCtrlExt& packet);
153 
155  virtual void processDiGuyExecuteGesture(const makCigiExt::DtCigiBaseDiGuyExecuteGesture& packet);
156 
158  virtual void processDiGuyEndGesture(const makCigiExt::DtCigiBaseDiGuyEndGesture& packet);
159 
163  virtual void processEntityPositionControl(CigiBaseEntityPositionCtrl& packet);
164 
169  virtual void processAnimationControl(CigiBaseAnimationCtrl& packet);
170 
175  virtual void processEntityV4(const CigiEntityCtrlV4& packet);
176 
179  virtual void processEntityV3(const CigiEntityCtrlV3_3& packet);
180 
185  virtual void setEntityControlTspi(
186  const CigiEntityCtrlV3_3& packet, DtCigiBaseEntity* entity);
187 
190  virtual void setEntityControlAnimationState(const CigiEntityCtrlV3_3& packet,
191  DtCigiBaseEntity* entity);
192 
194  virtual void setParticleSystemAnimationState( CigiAnimationCtrlV4 & packet,
195  DtCigiParticleSystemEntity* particleSystem );
196  virtual void setAnimationEntityAnimationState( CigiAnimationCtrlV4 & packet,
197  DtCigiAnimationEntity* animationEntity );
198  virtual void setWaterCraftEntityAnimationState( CigiAnimationCtrlV4 & packet,
199  DtCigiWatercraftEntity* watercraftEntity );
200  virtual void setEntityAnimationState( CigiAnimationCtrlV4 & packet,
201  DtCigiEntity* cigiEntity );
202 
204  virtual void performComponentControlV3( CigiCompCtrlV3_3& packet );
205 
208  virtual void performComponentControlV4( CigiCompCtrlV4& packet );
209 
210 
211 
214  virtual DtCigiBaseEntity* createNewEntity(
215  int entityId, int entityType);
216 
218  virtual void removeEntity(int entityId);
219 
222  virtual void setArtPartWithDof(int partId, float val,
223  CigiBaseShortArtPartCtrl::DofSelectGrp selection,
224  DtCigiBaseEntity* entity);
225 
226 
229  virtual void resetSpatialAttributes();
230 
231  protected:
233  DtCigiEntityVisualizer& operator=(const DtCigiEntityVisualizer& orig);
234  protected:
235  std::map<int, DtCigiBaseEntity*> myIdToEntityMap;
238  };
239 
242  {
243  public:
246 
249 
251  static DtCigiEntityVisualizerCreator& instance( DtDe& de );
252 
254  static DtCigiEntityVisualizerCreator& instance( DtCigiConnection& con );
255 
257  virtual DtCigiEntityVisualizerCreator* clone();
258 
260  static void copyInstance(DtCigiConnection& con, DtDe& de);
261 
263  virtual DtCigiEntityVisualizer* create( DtCigiConnection& connection,
264  DtAgentManagerInterface& aSceneInterface ) const;
265  };
266 }
Creator class for the Entity Visualizer.
Definition: DtCigiEntityVisualizer.h:241
Virtual base class.
Definition: DtVirtualBaseClass.h:22
The base class for all 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 packets.
Definition: DtCigiBaseDiGuyCtrlExt.h:34
The base class for all packets.
Definition: DtCigiDiGuyCtrl.h:54
DtAgentManagerInterface & mySceneInterface
Definition: DtCigiEntityVisualizer.h:236
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:109
Contains makVrv::DtVirtualBaseClass class.
This class is responsible for the actual processing of CIGI data.
Definition: DtCigiConnection.h:56
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
A DtCigiAnimationEntity is a CIGI entity that loads an animation model.
Definition: DtCigiAnimationEntity.h:22
boost::signal< void(int entityId)> signal_entityToBeDeleted
Emitted when this entity&#39;s alpha has changed.
Definition: DtCigiEntityVisualizer.h:99
std::map< int, DtCigiBaseEntity * > myIdToEntityMap
Definition: DtCigiEntityVisualizer.h:235
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:36
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 class for all packets.
Definition: DtCigiBaseDiGuyEndGesture.h:34
DtCigiConnection & myConnection
Definition: DtCigiEntityVisualizer.h:237
std::map< int, DtCigiBaseEntity * > IdToEntityMap
Definition: DtCigiEntityVisualizer.h:75

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)