VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtCustomReflectedEntityList.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvVrl/vrvVrl.h>
14 
15 #include <vl/reflectedEntityList.h>
16 #include <vl/reflectedEntity.h>
17 #include <vl/entityStateRepository.h>
19 
20 
21 #ifndef DT_PROTOCOL_NAMESPACE
22 #error Namespace Protocol Macro DT_PROTOCOL_NAMESPACE not defined.
23 #endif
24 
25 class DtReflectedObject;
30 class DtEndGestureInter;
31 
32 
33 namespace makVrv
34 {
35  namespace DT_PROTOCOL_NAMESPACE
36  {
38 
39 #ifdef DtHLA
41  {
42  public:
44  virtual void addRegion( DtDDMRegionSP regionToAdd ) = 0;
45 
47  virtual void removeRegion( DtDDMRegionSP regionToRemove ) = 0;
48  };
49 #endif
50 
51  template <typename ReflectedListClass,typename ReflectedEntityType,typename ReflectedEntityStateRepositoryType>
53 #ifdef DtHLA
55 #endif
56  {
57  public:
58 
61 
62 #if DtHLA
63  // CTOR for HLA
65  const DtDDMRegionSet& regionsToUse );
66 #endif
67 
70 
71 
72 #if DtHLA
73 
74 
75 
76  virtual DtReflectedObject* newReflectedObject( DtHlaObject* obj ) const;
77  virtual DtReflectedEntity* newReflectedEntity( DtHlaObject* obj ) const;
78 
82 
86  virtual void removeAndDelete( DtReflectedEntity* entity, char* msg = NULL );
87 
88  virtual void addRegion(DtDDMRegionSP regionToAdd);
89 
90  virtual void removeRegion(DtDDMRegionSP regionToRemove);
91 
92  virtual void resolveOrphans();
93 #endif
94 
95 #if DtDIS
96 
102  const DtEntityIdentifier& id,
103  const DtEntityType& type) const;
104 
107  virtual void removeAndDelete(DtReflectedObject* obj, char* msg = NULL);
108 #endif
109 
110  //Whenever an entity is added.
111  virtual void entityAdded(DtReflectedEntity* ent);
112 
113  // Callback to push extended data into DtEntityStateRepository attributes.
114  static void entityUpdatedCallback(DtReflectedEntity* ent, void* usr);
115  virtual void entityUpdated(DtReflectedEntity* ent);
116 
117 #if DtDIS
118 
119  virtual void processDiGuyPdu( const DtDIGuyCustomPdu& pdu );
120 
121 #elif DtHLA
122 
123  static void receivedBeginAppearanceEffectInteractionCb( DtBeginAppearanceEffectInter* inter, void* usr );
124  virtual void receivedBeginAppearanceEffectInteraction( DtBeginAppearanceEffectInter* inter );
125 
126  static void receivedStopAppearanceEffectInteractionCb( DtStopAppearanceEffectInter* inter, void* usr );
127  virtual void receivedStopAppearanceEffectInteraction( DtStopAppearanceEffectInter* inter );
128 
129  static void receivedEndAppearanceEffectInteractionCb( DtEndAppearanceEffectInter* inter, void* usr );
130  virtual void receivedEndAppearanceEffectInteraction( DtEndAppearanceEffectInter* inter );
131 
132  static void receivedExecuteGestureInteractionCb( DtExecuteGestureInter* inter, void* usr );
133  virtual void receivedExecuteGestureInteraction( DtExecuteGestureInter* inter );
134 
135  static void receivedEndGestureInteractionCb( DtEndGestureInter* inter, void* usr );
136  virtual void receivedEndGestureInteraction( DtEndGestureInter* inter );
137 
138 #endif
139 
140  protected:
141 
142  typedef std::map<DtReflectedEntity*, DtVrlinkEntityStateListener*> ReflectedEntityListenerMap;
143 
146 
147 #if DtHLA
148  typedef std::set<DtReflectedEntity*> DiscoveredSet;
150 #endif
151 
152  };
153 
154  }
155 
156 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)