VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
reflectedEmitterSystemListHLA.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 1992-2025 MAK Technologies, Inc
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #if DtHLA
13 
17 
22 {
23 public:
24 
29  bool beamsUpdateSystems = true, const DtDDMRegionSet* regionSetToUse = 0,
30  const DtString& updateRateTag = DtString(""));
31 
35  const DtList *handleList, bool beamsUpdateSystems = true,
36  const DtDDMRegionSet* regionSetToUse = 0,
37  const DtString& updateRateTag = DtString(""));
38 
41 
43  virtual DtReflectedEmitterSystem* lookup(
44 #if DtHLA_1516
45  RTI::ObjectInstanceHandle id );
46 #else
47  RTI::ObjectHandle id );
48 #endif
49 
51  virtual DtReflectedEmitterSystem* lookup(
52  const DtGlobalObjectDesignator& objName );
53 
55  virtual DtReflectedEmitterSystem* lookup(
56  const DtGlobalObjectDesignator& emittingEntity, int systemId ) const;
57 
59  virtual DtReflectedEmitterSystem* first() const;
60  virtual DtReflectedEmitterSystem* last() const;
61 
65  virtual void addEmitterSystemAdditionCallback(
66  DtEmitterSystemCallbackFunction cb, void* usr );
67  virtual void removeEmitterSystemAdditionCallback(
68  DtEmitterSystemCallbackFunction cb, void* usr );
69 
73  virtual void addEmitterSystemRemovalCallback(
74  DtEmitterSystemCallbackFunction cb, void* usr );
75  virtual void removeEmitterSystemRemovalCallback(
76  DtEmitterSystemCallbackFunction cb, void* usr );
77 
88  virtual DtReflectedEmitterBeamList* refBeamList();
89 
95  virtual void setDiscoveryCondition( DtDiscoveryCondition fn, void* usr );
96 
100  virtual void clearDiscoveryCondition();
101 
108  virtual void setBeamDiscoveryCondition( DtDiscoveryCondition fn, void* usr );
109 
111  virtual void clearBeamDiscoveryCondition();
112 
117  virtual bool delayBeamDiscovery( DtReflectedObject* beam, void* usr );
118 
119 protected:
120 
124  virtual void processDiscoverObject( DtHlaObject* obj );
125 
130  virtual void processRemoveObject( DtHlaObject* obj );
131 
138  virtual void processEmitterBeamAddition( DtReflectedEmitterBeam* beam );
139  virtual void processEmitterBeamUpdate( DtReflectedEmitterBeam* beam );
140  virtual void processEmitterBeamRemoval( DtReflectedEmitterBeam* beam );
141 
145  virtual void resolveOrphans();
146 
148  virtual DtReflectedObject* newReflectedObject( DtHlaObject* obj ) const;
149 
152  virtual DtReflectedEmitterSystem* newReflectedEmitterSystem(
153  const DtGlobalObjectDesignator& des ) const;
154 
159  virtual void objectAdded( DtReflectedObject* obj );
160 
164  virtual bool shouldBeTimedOut( DtReflectedObject* object );
165 
168  virtual const DtList* dfltHandleList();
169 
170 protected:
171 
174  static void emitterBeamAdditionCb(
175  DtReflectedEmitterBeam* beam, void* usr );
176  static void emitterBeamUpdateCb(
177  DtReflectedEmitterBeam* beam, void* usr );
178  static void emitterBeamRemovalCb(
179  DtReflectedEmitterBeam* beam, void* usr );
180 
182  static void resolveOrphansPostDrainCb( void* usr );
183 
188  static bool delayBeamDiscoveryCondition(
189  DtReflectedObject* beam, void* usr );
190 
191 private:
192 
195 
198 
199 protected:
200 
201 #if !DtHLA_1516
202  mutable DtObjectId myCounterId;
203 #endif
204  DtList myOrphanBeams;
205  DtReflectedEmitterBeamList myBeamList;
206  bool myBeamsUpdateSystems;
207 
208  DtDiscoveryCondition myBeamDiscoveryCondition;
209  void* myBeamDiscoveryConditionParameter;
210 
211 };
212 
213 #endif // DtHLA
Instances of DtReflectedObjectList are lists of instances of classes derived from DtReflectedObject...
Definition: reflectedObjectListDIS.h:38
bool(* DtDiscoveryCondition)(DtReflectedObject *refObj, void *usr)
Definition: reflectedObjectListDIS.h:30
Contains the HLA DtReflectedObjectList class declaration.
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnDIS.h:62
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Contains the DtReflectedEmitterBeamList class declaration.
DtReflectedObjectList & operator=(const DtReflectedObjectList &orig)
assignment operator – not implemented
Instances of this class provide a protocol independent interface to a list of reflected emitters in a...
Definition: reflectedEmitterSystemListDIS.h:28
DtList is deprecated, please use std::list<T>.
Definition: vlList.h:71
Instances of DtReflectedObject are used to represent a simulation entity reflected across a network (...
Definition: reflectedObjectDIS.h:34
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
void(* DtEmitterSystemCallbackFunction)(DtReflectedEmitterSystem *obj, void *userData)
Callback function that takes a DtReflectedObject and user data.
Definition: reflectedEmitterSystemDIS.h:25
virtual void setDiscoveryCondition(DtDiscoveryCondition fn, void *usr)
Set the checker function which will determine when an object gets discovered and put into the ref...
virtual void objectAdded(DtReflectedObject *object)
Called after a remote object has been added to the list.
Instances of DtString are used to represent strings.
Definition: vlString.h:36
virtual void clearDiscoveryCondition()
Unregisters the checker function set in setDiscoverCondition.
virtual bool shouldBeTimedOut(DtReflectedObject *object)
Returns whether or not the object should be timed out.
Instances of DtReflectedEmitterSystem represent EmitterSystem object simulated by remote applications...
Definition: reflectedEmitterSystemDIS.h:33

Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)