VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
reflectedActiveSonarListHLA.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 
27  const DtDDMRegionSet* regionSetToUse = 0,
28  const DtString& updateRateTag = "" );
29 
33  const DtList *handleList, const DtDDMRegionSet* regionSetToUse = 0,
34  const DtString& updateRateTag = "" );
35 
37  virtual ~DtReflectedActiveSonarList();
38 
40  virtual DtReflectedActiveSonar* lookup(
41 #if DtHLA_1516
42  RTI::ObjectInstanceHandle id );
43 #else
44  RTI::ObjectHandle id );
45 #endif
46 
48  virtual DtReflectedActiveSonar* lookup(
49  const DtGlobalObjectDesignator& objName );
50 
52  virtual DtReflectedActiveSonar* lookup(
53  const DtGlobalObjectDesignator& emittingEntity, int systemId ) const;
54 
56  virtual DtReflectedActiveSonar* first() const;
57 
59  virtual DtReflectedActiveSonar* last() const;
60 
62  virtual void addActiveSonarAdditionCallback(
63  DtActiveSonarCallbackFunction cb, void* usr );
64 
66  virtual void removeActiveSonarAdditionCallback(
67  DtActiveSonarCallbackFunction cb, void* usr );
68 
70  virtual void addActiveSonarRemovalCallback(
71  DtActiveSonarCallbackFunction cb, void* usr );
72 
74  virtual void removeActiveSonarRemovalCallback(
75  DtActiveSonarCallbackFunction cb, void* usr );
76 
87  virtual DtReflectedActiveSonarBeamList* refBeamList();
88 
94  virtual void setDiscoveryCondition( DtDiscoveryCondition fn, void* usr );
95 
99  virtual void clearDiscoveryCondition();
100 
107  virtual void setBeamDiscoveryCondition( DtDiscoveryCondition fn, void* usr );
108 
110  virtual void clearBeamDiscoveryCondition();
111 
116  virtual bool delayBeamDiscovery( DtReflectedObject* beam, void* usr );
117 
118 protected:
119 
123  virtual void processDiscoverObject( DtHlaObject* obj );
124 
129  virtual void processRemoveObject( DtHlaObject* obj );
130 
137  virtual void processActiveSonarBeamAddition( DtReflectedActiveSonarBeam* beam );
138  virtual void processActiveSonarBeamUpdate( DtReflectedActiveSonarBeam* beam );
139  virtual void processActiveSonarBeamRemoval( DtReflectedActiveSonarBeam* beam );
140 
144  virtual void resolveOrphans();
145 
147  virtual DtReflectedObject* newReflectedObject( DtHlaObject* obj ) const;
148 
151  virtual DtReflectedActiveSonar* newReflectedActiveSonar(
152  const DtGlobalObjectDesignator& hostId ) const;
153 
158  virtual void objectAdded( DtReflectedObject* obj );
159 
163  virtual bool shouldBeTimedOut( DtReflectedObject* object );
164 
167  virtual const DtList* dfltHandleList();
168 
169 protected:
170 
173  static void activeSonarBeamAdditionCb(
174  DtReflectedActiveSonarBeam* beam, void* usr );
175  static void activeSonarBeamUpdateCb(
176  DtReflectedActiveSonarBeam* beam, void* usr );
177  static void activeSonarBeamRemovalCb(
178  DtReflectedActiveSonarBeam* beam, void* usr );
179 
181  static void resolveOrphansPostDrainCb( void* usr );
182 
187  static bool delayBeamDiscoveryCondition(
188  DtReflectedObject* beam, void* usr );
189 
190 private:
191 
194 
197 
198 protected:
199 
200 #if !DtHLA_1516
201  mutable DtObjectId myCounterId;
202 #endif
203  DtList myOrphanBeams;
204  DtReflectedActiveSonarBeamList myBeamList;
205  bool myBeamsUpdateSystems;
206 
207  DtDiscoveryCondition myBeamDiscoveryCondition;
208  void* myBeamDiscoveryConditionParameter;
209 
210 };
211 
212 #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
Instances of DtReflectedActiveSonar represent active sonar object simulated by remote applications...
Definition: reflectedActiveSonarDIS.h:28
Contains the DtReflectedActiveSonarBeamList class declaration.
DtReflectedObjectList & operator=(const DtReflectedObjectList &orig)
assignment operator – not implemented
Contains the DtReflectedActiveSonar class declaration.
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
virtual void setDiscoveryCondition(DtDiscoveryCondition fn, void *usr)
Set the checker function which will determine when an object gets discovered and put into the ref...
void(* DtActiveSonarCallbackFunction)(DtReflectedActiveSonar *, void *)
Callback function that takes a DtReflectedActiveSonar and user data.
Definition: reflectedActiveSonarDIS.h:23
virtual void objectAdded(DtReflectedObject *object)
Called after a remote object has been added to the list.
Instances of this class provide a protocol independent interface to a list of additional passive acti...
Definition: reflectedActiveSonarListDIS.h:24
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.

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)