VR-Link API Documentation for HLA 1.3
hRefEmSysList.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2013 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #if DtHLA
13 
14 #include <vl/hRefObjList.h>
15 #include <vl/hReflEmitrSys.h>
16 #include <vl/hRefBeamList.h>
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
203 #endif
207 
210 
211 };
212 
213 #endif // DtHLA

Document ID: Generated on Wed Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)