VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtCigiEntityVisualizer.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2017 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 <CigiShortArtPartCtrlV3.h>
23 
24 #include <map>
25 
26 class CigiArtPartCtrlV3;
27 class CigiCompCtrlV3_3;
28 class CigiEntityCtrlV3_3;
29 class CigiRateCtrlV3_2;
30 class CigiShortCompCtrlV3_3;
31 
32 namespace makCigiExt
33 {
34  class DtCigiDiGuyCtrl;
35 }
36 
37 namespace makVrv
38 {
39  class DtAgentManagerInterface;
40  class DtCigiBaseEntity;
41  class DtCigiConnection;
42  class DtCigiEntity;
43 
48  {
49  public:
50 
52 
53  typedef std::map<int, DtCigiBaseEntity*> IdToEntityMap;
54 
56  virtual ~DtCigiEntityVisualizer();
57 
60  virtual DtUniqueID uniqueIdForCigiEntity(int cigiEntId) const;
61 
64  virtual const DtCigiBaseEntity* cigiEntity(int entityId) const;
65 
68  virtual int findEntityWithUniqueId(DtUniqueID idToFind) const;
69 
70  virtual void restart();
71 
73 
74  IdToEntityMap& entityList()
75  {
76  return myIdToEntityMap;
77  }
78 
79  const IdToEntityMap& entityList() const
80  {
81  return myIdToEntityMap;
82  }
84 
85  protected:
88  DtAgentManagerInterface& aSceneInterface);
89 
91  virtual void processEntityControl(const CigiEntityCtrlV3_3& packet);
92 
93  // Process a CIGI Rate Control packet
94  virtual void processRateControl(const CigiRateCtrlV3_2& packet);
95 
97  virtual void processArtPartControl(const CigiArtPartCtrlV3& packet);
98 
100  virtual void processShortArtPartControl(const CigiShortArtPartCtrlV3& packet);
101 
104  virtual void processComponentControl(CigiCompCtrlV3_3& packet);
105 
108  virtual void processShortComponentControl(CigiShortCompCtrlV3_3& packet);
109 
111  virtual void processDiGuyControl(const makCigiExt::DtCigiDiGuyCtrl& packet);
112 
116  virtual void setTspiFromPacket(
117  const CigiEntityCtrlV3_3& packet, DtCigiBaseEntity* entity);
118 
121  virtual DtCigiBaseEntity* createNewEntity(
122  int entityId, int entityType);
123 
125  virtual void removeEntity(int entityId);
126 
129  virtual void setArtPartWithDof(int partId, float val,
130  CigiBaseShortArtPartCtrl::DofSelectGrp selection,
131  DtCigiBaseEntity* entity);
132 
134  virtual void setAnimationState(const CigiEntityCtrlV3_3& packet,
135  DtCigiBaseEntity* entity);
136 
139  virtual void resetSpatialAttributes();
140 
141  protected:
143  DtCigiEntityVisualizer& operator=(const DtCigiEntityVisualizer& orig);
144 
145 
146  protected:
147  std::map<int, DtCigiBaseEntity*> myIdToEntityMap;
150  };
151 
154  {
155  public:
158 
161 
163  static DtCigiEntityVisualizerCreator& instance( DtDe& de );
164 
166  static DtCigiEntityVisualizerCreator& instance( DtCigiConnection& con );
167 
169  static void copyInstance(DtCigiConnection& con, DtDe& de);
170 
172  virtual DtCigiEntityVisualizer* create( DtCigiConnection& connection,
173  DtAgentManagerInterface& aSceneInterface ) const;
174  };
175 }

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)