VR-Forces 4.6 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) 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 <boost/signal.hpp>
25 
26 #include <map>
27 
28 class CigiArtPartCtrlV3;
29 class CigiCompCtrlV3_3;
30 class CigiEntityCtrlV3_3;
31 class CigiRateCtrlV3_2;
32 class CigiShortCompCtrlV3_3;
33 
34 namespace makCigiExt
35 {
36  class DtCigiDiGuyCtrl;
37  class DtCigiDiGuyCtrlExt;
38 }
39 
40 namespace makVrv
41 {
42  class DtAgentManagerInterface;
43  class DtCigiBaseEntity;
44  class DtCigiConnection;
45  class DtCigiEntity;
46 
51  {
52  public:
53 
55 
56  typedef std::map<int, DtCigiBaseEntity*> IdToEntityMap;
57 
59  virtual ~DtCigiEntityVisualizer();
60 
63  virtual DtUniqueID uniqueIdForCigiEntity(int cigiEntId) const;
64 
67  virtual const DtCigiBaseEntity* cigiEntity(int entityId) const;
68 
71  virtual DtCigiBaseEntity* cigiEntity(int entityId);
72 
75  virtual int findEntityWithUniqueId(DtUniqueID idToFind) const;
76 
77  virtual void restart();
78 
80  boost::signal<void(int entityId)> signal_entityToBeDeleted;
81 
82 
84 
85  IdToEntityMap& entityList()
86  {
87  return myIdToEntityMap;
88  }
89 
90  const IdToEntityMap& entityList() const
91  {
92  return myIdToEntityMap;
93  }
95 
96  protected:
99  DtAgentManagerInterface& aSceneInterface);
100 
102  virtual void processEntityControl(const CigiEntityCtrlV3_3& packet);
103 
104  // Process a CIGI Rate Control packet
105  virtual void processRateControl(const CigiRateCtrlV3_2& packet);
106 
108  virtual void processArtPartControl(const CigiArtPartCtrlV3& packet);
109 
111  virtual void processShortArtPartControl(const CigiShortArtPartCtrlV3& packet);
112 
115  virtual void processComponentControl(CigiCompCtrlV3_3& packet);
116 
119  virtual void processShortComponentControl(CigiShortCompCtrlV3_3& packet);
120 
122  virtual void processDiGuyControl(const makCigiExt::DtCigiDiGuyCtrl& packet);
123 
125  virtual void processDiGuyControlExt(const makCigiExt::DtCigiDiGuyCtrlExt& packet);
126 
130  virtual void setTspiFromPacket(
131  const CigiEntityCtrlV3_3& packet, DtCigiBaseEntity* entity);
132 
135  virtual DtCigiBaseEntity* createNewEntity(
136  int entityId, int entityType);
137 
139  virtual void removeEntity(int entityId);
140 
143  virtual void setArtPartWithDof(int partId, float val,
144  CigiBaseShortArtPartCtrl::DofSelectGrp selection,
145  DtCigiBaseEntity* entity);
146 
148  virtual void setAnimationState(const CigiEntityCtrlV3_3& packet,
149  DtCigiBaseEntity* entity);
150 
153  virtual void resetSpatialAttributes();
154 
155  protected:
157  DtCigiEntityVisualizer& operator=(const DtCigiEntityVisualizer& orig);
158 
159 
160  protected:
161  std::map<int, DtCigiBaseEntity*> myIdToEntityMap;
164  };
165 
168  {
169  public:
172 
175 
177  static DtCigiEntityVisualizerCreator& instance( DtDe& de );
178 
180  static DtCigiEntityVisualizerCreator& instance( DtCigiConnection& con );
181 
183  static void copyInstance(DtCigiConnection& con, DtDe& de);
184 
186  virtual DtCigiEntityVisualizer* create( DtCigiConnection& connection,
187  DtAgentManagerInterface& aSceneInterface ) const;
188  };
189 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)