VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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>
18 
19 class DtReflectedObject;
20 
21 #ifndef DT_PROTOCOL_NAMESPACE
22 #error Namespace Protocol Macro DT_PROTOCOL_NAMESPACE not defined.
23 #endif
24 
25 namespace makVrv
26 {
27 
28  namespace DT_PROTOCOL_NAMESPACE
29  {
31 
32 #ifdef DtHLA
34  {
35  public:
37  virtual void addRegion(DtDDMRegionSP regionToAdd) = 0;
38 
40  virtual void removeRegion(DtDDMRegionSP regionToRemove) = 0;
41  };
42 #endif
43 
44  template <typename ReflectedListClass, typename ReflectedEntityType, typename ReflectedEntityStateRepositoryType>
46 #ifdef DtHLA
48 #endif
49  {
50  public:
51 
54 
55 #if DtHLA
56  // CTOR for HLA
58  const DtDDMRegionSet& regionsToUse);
59 #endif
60 
63 
64 
65 #if DtHLA
66 
67 
68 
69  virtual DtReflectedObject* newReflectedObject(DtHlaObject* obj) const;
70  virtual DtReflectedEntity* newReflectedEntity(DtHlaObject* obj) const;
71 
75  virtual void removeAndDelete(DtReflectedEntity* entity, char* msg = NULL);
76 
77  virtual void addRegion(DtDDMRegionSP regionToAdd);
78 
79  virtual void removeRegion(DtDDMRegionSP regionToRemove);
80 
81  virtual void resolveOrphans();
82 #endif
83 
84 #if DtDIS
85 
90  virtual DtReflectedEntity* newReflectedEntity(
91  const DtEntityIdentifier& id,
92  const DtEntityType& type) const;
93 
96  virtual void removeAndDelete(DtReflectedObject* obj, char* msg = NULL);
97 #endif
98  //Whenever an entity is added.
99  virtual void entityAdded(DtReflectedEntity* ent);
100 
101 #if DtDIS
102  virtual void processDiGuyPdu(const DtDIGuyCustomPdu& pdu);
103 #endif
104 
105  protected:
106 
107  typedef std::map<DtReflectedEntity*, DtVrlinkEntityStateListener*>
109 
112 
113 #if DtHLA
114  typedef std::set<DtReflectedEntity*> DiscoveredSet;
116 #endif
117  };
118 
120  }
121 }

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)