VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtCustomReflectedEnvironmentList.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2025 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvVrl/vrvVrl.h>
13 
14 #ifndef DT_PROTOCOL_NAMESPACE
15 #error Namespace Protocol Macro DT_PROTOCOL_NAMESPACE not defined.
16 #endif
17 
18 #include <vl/reflectedObjectList.h>
19 #include <vl/reflectedObject.h>
20 #include <vl/entityStateRepository.h>
21 #include <vl/globalObjectDesignator.h>
22 
24 
25 class DtReflectedObject;
26 
27 namespace makVrv
28 {
29  namespace DT_PROTOCOL_NAMESPACE
30  {
31  class DtVrlinkConnection;
32  class DtEnvironmentProcessor;
33 
34 #if DtHLA
35  class DtCustomReflectedEnvironmentListHLAInterface
38  {
39  public:
41  virtual void addRegion( DtDDMRegionSP regionToAdd ) = 0;
42 
44  virtual void removeRegion( DtDDMRegionSP regionToRemove ) = 0;
45  };
46 #endif
47 
56  template <typename ReflectedListClass,typename ReflectedObjectType,typename ReflectedStateRepositoryType>
58 #if DtHLA
60 #endif
61  {
62  public:
63 
66 
67 #if DtHLA
68  // CTOR for HLA
70  const DtDDMRegionSet& regionsToUse );
71 #endif
72 
75 
76 #if DtHLA
77  virtual void addRegion(DtDDMRegionSP regionToAdd);
79 
81  virtual void removeRegion(DtDDMRegionSP regionToRemove);
82 #endif
83 
85  virtual void objectAdded(DtReflectedObject* object) override;
86 
88  virtual void removeAndDelete(DtReflectedObject* obj, const char* msg) override;
89 
90  protected:
91 
93  };
94 
95 
100  {
101  public:
102 
105  {
106  }
107 
110  {
111  }
112 
114  virtual DtCustomReflectedEnvironmentListCreator* clone() const = 0;
115 
118 
119 #if DtHLA
120  virtual DtReflectedObjectList* create(DtVrlinkConnection&, DtEnvironmentProcessor&, const DtDDMRegionSet&) const = 0;
122 #endif
123 
124  };
125 
129  template <typename CustomReflectedList>
131  {
132  public:
133 
136  {
137  }
138 
141  {
142  }
143 
146  {
148  }
149 
151  virtual DtReflectedObjectList* create(DtVrlinkConnection& connection, DtEnvironmentProcessor& envProcessor) const
152  {
153  return new CustomReflectedList(connection, envProcessor);
154  }
155 
156 #if DtHLA
157  virtual DtReflectedObjectList* create(DtVrlinkConnection& connection, DtEnvironmentProcessor& envProcessor, const DtDDMRegionSet& regionsToUse) const
159  {
160  return new CustomReflectedList(connection, envProcessor, regionsToUse);
161  }
162 #endif
163  };
164  }
165 
166 }
virtual void removeRegion(DtDDMRegionSP regionToRemove)
Remove a DDM region.
Abstract Custom Reflected Environmnent list creator. This provides an interface for the DtCustomRefle...
Definition: DtCustomReflectedEnvironmentList.h:99
DtCustomReflectedEnvironmentListHLAInterface is a &#39;mixin&#39; API fragment for use with HLA=specific cust...
Definition: DtCustomReflectedEnvironmentList.h:37
DtCustomReflectedEnvironmentList is a templated class used to extend the VR-Link environment reflecte...
Definition: DtCustomReflectedEnvironmentList.h:57
Templated Reflected Environmnent list creator. This provides a mechanism to create a DtCustomReflecte...
Definition: DtCustomReflectedEnvironmentList.h:130
virtual void addRegion(DtDDMRegionSP regionToAdd)=0
HLA specific DDM region add function.
#define DT_PROTOCOL_NAMESPACE
Contains defines and includes header files for protocols.
Definition: vrfProtocol.h:13
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
virtual void addRegion(DtDDMRegionSP regionToAdd)
Add a DDM region.
DtCustomReflectedEnvironmentListCreatorTemplate()
CTOR.
Definition: DtCustomReflectedEnvironmentList.h:135
Contains makVrv::DtVirtualBaseClass class.
DtCustomReflectedEnvironmentListCreator()
CTOR.
Definition: DtCustomReflectedEnvironmentList.h:104
virtual ~DtCustomReflectedEnvironmentListCreator()
DTOR.
Definition: DtCustomReflectedEnvironmentList.h:109
virtual DtReflectedObjectList * create(DtVrlinkConnection &connection, DtEnvironmentProcessor &envProcessor) const
Create function.
Definition: DtCustomReflectedEnvironmentList.h:151
DtEnvironmentProcessor manages environment data for a VR-Link connection that is transmitted through ...
Definition: DtEnvironmentProcessor.h:57
virtual void removeAndDelete(DtReflectedObject *obj, const char *msg) override
Remove a remote object.
virtual void objectAdded(DtReflectedObject *object) override
Add a discovered remove object.
DtEnvironmentProcessor & myEnvironmentProcessor
Definition: DtCustomReflectedEnvironmentList.h:92
virtual DtCustomReflectedEnvironmentListCreator * clone() const
Clone.
Definition: DtCustomReflectedEnvironmentList.h:145
virtual void removeRegion(DtDDMRegionSP regionToRemove)=0
HLA specific DDM region remove function.
Contains DLL export macros.
DtCustomReflectedEnvironmentList(DtVrlinkConnection &connection, DtEnvironmentProcessor &envProcessor)
CTOR.
virtual ~DtCustomReflectedEnvironmentListCreatorTemplate()
DTOR.
Definition: DtCustomReflectedEnvironmentList.h:140

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)