VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
reflectedObjectLists.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
9 #include <vl/reflectedEmitterSystemList.h>
10 #include <vl/reflectedObjectList.h>
12 #include <vl/reflectedActiveSonarList.h>
14 #include <vl/reflectedPropulsionNoiseList.h>
15 #include <vl/reflectedIffList.h>
20 #include <vl/reflectedDesignatorList.h>
21 #include <vl/reflectedPropulsionNoiseList.h>
22 #include <vl/reflectedRadioTransmitterList.h>
23 #include <vl/reflectedRadioReceiverList.h>
24 #include <vl/reflectedIffList.h>
25 
26 #include <vl/reflectedLandSurfaceList.h>
27 #include <vl/reflectedSubsurfaceLayerList.h>
28 #include <vl/reflectedWaterSurfaceList.h>
29 #include <vl/reflectedTroposphereLayerList.h>
30 #include <vl/reflectedTimeAndDateList.h>
31 #include <vl/reflectedWindCorridorList.h>
32 #include <vl/reflectedTurbulenceLayerList.h>
33 
34 #include <vl/reflectedAerodromeList.h>
35 
38 class DtReflectedActiveSonarList;
39 class DtReflectedPropulsionNoiseList;
40 class DtReflectedIffList;
44 class DtReflectedRadioReceiverList;
45 class DtExerciseConn;
46 
47 #if DtHLA
48 namespace makVrfVrlinkExtToolkit
49 {
50  class DtReflectedExtendedAttributesObjectList;
51 }
52 #endif
53 
54 namespace makVrf
55 {
57  {
58  DiscoveryCondition() : fcn(nullptr), userData(nullptr) {};
59  void clear() { fcn = nullptr; userData = nullptr; };
60  DtDiscoveryCondition fcn;
61  void* userData;
62  };
63 
64  template <typename T_ReflectedList>
66  {
69 
70 #if DtHLA
71 #if DtHLA_1516
72  DtReflectedObject* lookup(const RTI::ObjectInstanceHandle& handle) const { return reflectedList->lookup(handle); };
73  DtReflectedObject* lookupObj(const DtGlobalObjectDesignator& handle) const { return reflectedList->lookupObj(handle); };
74 #endif
75 #else
76 #if DtHLA
77  DtReflectedObject* lookupObj(const DtGlobalObjectDesignator& handle) const { return reflectedList->lookupObj(handle.string()); };
78 #else
79  DtReflectedObject* lookupObj(const DtGlobalObjectDesignator& handle) const { return reflectedList->lookup(handle.string()); };
80 #endif
81 #endif
82 
83  const T_ReflectedList* operator ->() const { return reflectedList; };
84  const T_ReflectedList* operator *() const { return reflectedList; };
86  bool createdLocally = false;
88 
90  {
91  public:
92  ReflectedObjectList(DtExerciseConn* exConn) : T_ReflectedList(exConn) {};
93 
94  DtDiscoveryCondition discoveryCondition() const { return T_ReflectedList::myDiscoveryCondition; };
95  void* discoveryConditionData() const { return T_ReflectedList::myDiscoveryConditionParameter; };
96  };
97 
98  void backup()
99  {
100  if (reflectedList)
101  {
102  existingDiscoveryCondition.fcn = ((ReflectedObjectList*)reflectedList)->discoveryCondition();
103  existingDiscoveryCondition.userData = ((ReflectedObjectList*)reflectedList)->discoveryConditionData();
104  }
105  }
106 
108  {
110  createdLocally = false;
111 
112  return *this;
113  }
114 
115  void create(DtExerciseConn* conn)
116  {
117  reflectedList = new T_ReflectedList(conn);
118  createdLocally = true;
119  }
120 
121  bool operator==(const DtReflectedListInformation& rhs) const
122  {
123  return ((rhs.createdLocally == createdLocally) &&
124  (rhs.reflectedList == reflectedList));
125  }
126 
127  bool operator!=(const DtReflectedListInformation& rhs) const
128  {
129  return !(*this == rhs);
130  }
131 
132  void cleanup()
133  {
134  if (createdLocally)
135  {
136  delete reflectedList;
137  reflectedList = nullptr;
138  createdLocally = false;
139  }
140  else if (reflectedList)
141  {
144  }
145  }
146 
147 #if DtDIS
148  void setTimeoutInterval(int timeout)
149  {
150  if (reflectedList)
151  {
152  reflectedList->setTimeoutInterval(timeout);
153  }
154  }
155 
156  void setTimeoutProcessing(bool b)
157  {
158  if (reflectedList)
159  {
160  reflectedList->setTimeoutProcessing(b);
161  }
162  }
163 #endif
164  };
165 
167  {
189  #if DtHLA
191  #endif
192 
193 #if DtDIS
194  void setTimeoutInterval(int timeout)
195  {
196  reflectedEntitiesList.setTimeoutInterval(timeout);
197  reflectedAerodromesList.setTimeoutInterval(timeout);
198  reflectedAggregatesList.setTimeoutInterval(timeout);
199  reflectedEnvironmentalsList.setTimeoutInterval(timeout);
200  reflectedDesignatorsList.setTimeoutInterval(timeout);
201  reflectedActiveSonarList.setTimeoutInterval(timeout);
202  reflectedPropulsionNoiseList.setTimeoutInterval(timeout);
203  reflectedRadioTransmitterList.setTimeoutInterval(timeout);
204  reflectedNavAidTransmitterList.setTimeoutInterval(timeout);
205  reflectedRadioReceiverList.setTimeoutInterval(timeout);
206  reflectedRadioReceiverList.setTimeoutInterval(timeout);
207  reflectedDynamicTerrainList.setTimeoutInterval(timeout);
208  reflectedIffList.setTimeoutInterval(timeout);
209  reflectedEmitterSystemList.setTimeoutInterval(timeout);
210  }
211 
213  {
214  reflectedEntitiesList.setTimeoutProcessing(!b);
215  reflectedAerodromesList.setTimeoutProcessing(!b);
216  reflectedAggregatesList.setTimeoutProcessing(!b);
217  reflectedEnvironmentalsList.setTimeoutProcessing(!b);
218  reflectedDesignatorsList.setTimeoutProcessing(!b);
219  reflectedActiveSonarList.setTimeoutProcessing(!b);
220  reflectedPropulsionNoiseList.setTimeoutProcessing(!b);
221  reflectedRadioTransmitterList.setTimeoutProcessing(!b);
222  reflectedNavAidTransmitterList.setTimeoutProcessing(!b);
223  reflectedRadioReceiverList.setTimeoutProcessing(!b);
224  reflectedRadioReceiverList.setTimeoutProcessing(!b);
225  reflectedDynamicTerrainList.setTimeoutProcessing(!b);
226  reflectedIffList.setTimeoutProcessing(!b);
227  reflectedEmitterSystemList.setTimeoutProcessing(!b);
228  }
229 #endif
230  };
231 }
Contains the DtReflectedExtEntityList class declaration.
DtReflectedListInformation< DtReflectedRectangularPyramidList > reflectedRectangularPyramidList
Definition: reflectedObjectLists.h:187
DtReflectedListInformation< DtReflectedExtEntityList > reflectedEntitiesList
Definition: reflectedObjectLists.h:168
DtReflectedListInformation< DtReflectedTimeAndDateList > reflectedTimeAndDateList
Definition: reflectedObjectLists.h:185
DtReflectedListInformation< DtReflectedActiveSonarList > reflectedActiveSonarList
Definition: reflectedObjectLists.h:174
T_ReflectedList * operator*()
Definition: reflectedObjectLists.h:68
void cleanup()
Definition: reflectedObjectLists.h:132
ReflectedObjectList(DtExerciseConn *exConn)
Definition: reflectedObjectLists.h:92
This file provides a protocol independent include file for the class DtReflectedNavAidList.
DtReflectedListInformation< DtReflectedNavAidList > reflectedNavAidTransmitterList
Definition: reflectedObjectLists.h:177
T_ReflectedList * operator->()
Definition: reflectedObjectLists.h:67
DtReflectedListInformation< DtReflectedDesignatorList > reflectedDesignatorsList
Definition: reflectedObjectLists.h:173
Instances of this class provide a protocol independent interface to a list of DynamicTerrain in a DIS...
Definition: reflectedDynamicTerrainListDIS.h:24
This file provides a protocol independant include file for the class DtReflectedDynamicTerrainList.
bool createdLocally
Definition: reflectedObjectLists.h:86
DtReflectedListInformation< DtReflectedPropulsionNoiseList > reflectedPropulsionNoiseList
Definition: reflectedObjectLists.h:175
DtReflectedListInformation< DtReflectedIffList > reflectedIffList
Definition: reflectedObjectLists.h:180
bool operator!=(const DtReflectedListInformation &rhs) const
Definition: reflectedObjectLists.h:127
Contains the DtReflectedExtAggregateList class declaration.
void setDisableTimeoutProcessing(bool b)
Definition: reflectedObjectLists.h:212
Definition: reflectedObjectLists.h:65
DiscoveryCondition existingDiscoveryCondition
Definition: reflectedObjectLists.h:87
DiscoveryCondition()
Definition: reflectedObjectLists.h:58
DtReflectedListInformation< DtReflectedLandSurfaceList > reflectedLandSurfaceList
Definition: reflectedObjectLists.h:181
bool operator==(const DtReflectedListInformation &rhs) const
Definition: reflectedObjectLists.h:121
DtReflectedListInformation< DtReflectedEmitterSystemList > reflectedEmitterSystemList
Definition: reflectedObjectLists.h:172
T_ReflectedList * reflectedList
Definition: reflectedObjectLists.h:85
This file provides a protocol independent include file for the class DtReflectedRectangularPyramidLis...
class DtReflectedNavAidList:
Definition: reflectedNavAidListDIS.h:19
void setTimeoutInterval(int timeout)
Definition: reflectedObjectLists.h:194
DtReflectedListInformation< DtReflectedRadioReceiverList > reflectedRadioReceiverList
Definition: reflectedObjectLists.h:178
DtReflectedListInformation< DtReflectedAggregateList > reflectedAggregatesList
Definition: reflectedObjectLists.h:169
DtReflectedListInformation< DtReflectedEnvironmentProcessList > reflectedEnvironmentalsList
Definition: reflectedObjectLists.h:170
DtReflectedListInformation< DtReflectedWindCorridorList > reflectedWindCorridorList
Definition: reflectedObjectLists.h:186
DtReflectedListInformation< DtReflectedTroposphereLayerList > reflectedTroposphereLayerList
Definition: reflectedObjectLists.h:184
Contains the DtReflectedControlObjectList class declaration.
void backup()
Definition: reflectedObjectLists.h:98
DtReflectedListInformation< DtReflectedRadioTransmitterList > reflectedRadioTransmitterList
Definition: reflectedObjectLists.h:176
DtReflectedListInformation< DtReflectedDynamicTerrainList > reflectedDynamicTerrainList
Definition: reflectedObjectLists.h:179
void * userData
Definition: reflectedObjectLists.h:61
void clear()
Definition: reflectedObjectLists.h:59
DtDiscoveryCondition fcn
Definition: reflectedObjectLists.h:59
DtReflectedListInformation< DtReflectedAerodromeList > reflectedAerodromesList
Definition: reflectedObjectLists.h:171
void create(DtExerciseConn *conn)
Definition: reflectedObjectLists.h:115
void * discoveryConditionData() const
Definition: reflectedObjectLists.h:95
Definition: reflectedObjectLists.h:89
DtReflectedListInformation< DtReflectedWaterSurfaceList > reflectedWaterSurfaceList
Definition: reflectedObjectLists.h:183
DtReflectedListInformation< DtReflectedSubsurfaceLayerList > reflectedSubsurfaceLayerList
Definition: reflectedObjectLists.h:182
DtReflectedListInformation< makVrfVrlinkExtToolkit::DtReflectedExtendedAttributesObjectList > reflectedExtendedAttributesObjectList
Definition: reflectedObjectLists.h:190
DtReflectedListInformation & operator=(const DtReflectedListInformation &rhs)
Definition: reflectedObjectLists.h:107
void setTimeoutProcessing(bool b)
Definition: reflectedObjectLists.h:156
Definition: reflectedObjectLists.h:166
Definition: reflectedObjectLists.h:56
DtReflectedListInformation< DtReflectedTurbulenceLayerList > reflectedTurbulenceLayerList
Definition: reflectedObjectLists.h:188
void setTimeoutInterval(int timeout)
Definition: reflectedObjectLists.h:148
DtDiscoveryCondition discoveryCondition() const
Definition: reflectedObjectLists.h:94

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)