VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
reflectedUnderwaterAcousticsListHLA.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 
19 
24 {
25 public:
26 
29  const DtDDMRegionSet* regionSetToUse = 0,
30  const DtString& updateRateTag = "" );
31 
35  const DtList* handleList, const DtDDMRegionSet* regionSetToUse = 0,
36  const DtString& updateRateTag = "" );
37 
40 
42  virtual DtReflectedUnderwaterAcoustics* lookup(
43 #if DtHLA_1516
44  RTI::ObjectInstanceHandle id );
45 #else
46  RTI::ObjectHandle id );
47 #endif
48 
50  virtual DtReflectedUnderwaterAcoustics* lookupName(
51  const DtGlobalObjectDesignator& objName );
52 
54  virtual DtReflectedUnderwaterAcoustics* lookup(
55  const DtGlobalObjectDesignator& hostId ) const;
56 
59  virtual DtReflectedUnderwaterAcoustics& getUnderwaterAcoustics(
60  const DtGlobalObjectDesignator& hostId );
61 
63  virtual DtReflectedUnderwaterAcoustics* first() const;
64 
66  virtual DtReflectedUnderwaterAcoustics* last() const;
67 
69  virtual void addUnderwaterAcousticsAdditionCallback(
70  DtUnderwaterAcousticsCallbackFunction cb, void* userData );
71 
73  virtual void removeUnderwaterAcousticsAdditionCallback(
74  DtUnderwaterAcousticsCallbackFunction cb, void* userData );
75 
77  virtual void addUnderwaterAcousticsRemovalCallback(
78  DtUnderwaterAcousticsCallbackFunction cb, void* userData );
79 
81  virtual void removeUnderwaterAcousticsRemovalCallback(
82  DtUnderwaterAcousticsCallbackFunction cb, void* userData );
83 
94  virtual DtReflectedPropulsionNoiseList* refPropNoiseList();
95 
106  virtual DtReflectedAdditionalPassiveActivitiesList* refApaList();
107 
118  virtual DtReflectedActiveSonarList* refActiveSonarList();
119 
125  virtual void setDiscoveryCondition( DtDiscoveryCondition fn, void* usr );
126 
130  virtual void clearDiscoveryCondition();
131 
138  virtual void setPropNoiseDiscoveryCondition( DtDiscoveryCondition fn, void* usr );
139 
141  virtual void clearPropNoiseDiscoveryCondition();
142 
147  virtual bool delayPropNoiseDiscovery( DtReflectedObject* propNoise, void* usr );
148 
155  virtual void setApaDiscoveryCondition( DtDiscoveryCondition fn, void* usr );
156 
158  virtual void clearApaDiscoveryCondition();
159 
164  virtual bool delayApaDiscovery( DtReflectedObject* apa, void* usr );
165 
172  virtual void setSonarDiscoveryCondition( DtDiscoveryCondition fn, void* usr );
173 
175  virtual void clearSonarDiscoveryCondition();
176 
181  virtual bool delaySonarDiscovery( DtReflectedObject* sonar, void* usr );
182 
183 protected:
184 
187  static void propNoiseAdditionCb( DtReflectedPropulsionNoise* propNoise, void* usr );
188  static void propNoiseUpdateCb( DtReflectedPropulsionNoise* propNoise, void* usr );
189  static void propNoiseRemovalCb( DtReflectedPropulsionNoise* propNoise, void* usr );
190 
193  static void addPassActAdditionCb( DtReflectedAdditionalPassiveActivities* apa, void* usr );
194  static void addPassActUpdateCb( DtReflectedAdditionalPassiveActivities* apa, void* usr );
195  static void addPassActRemovalCb( DtReflectedAdditionalPassiveActivities* apa, void* usr );
196 
199  static void activeSonarAdditionCb( DtReflectedActiveSonar* sonar, void* usr );
200  static void activeSonarUpdateCb( DtReflectedActiveSonar* sonar, void* usr );
201  static void activeSonarRemovalCb( DtReflectedActiveSonar* sonar, void* usr );
202 
204  static void resolveOrphansPostDrainCb( void* usr );
205 
210  static bool delayPropNoiseDiscoveryCondition(
211  DtReflectedObject* propNoise, void* usr );
212 
217  static bool delayApaDiscoveryCondition(
218  DtReflectedObject* apa, void* usr );
219 
224  static bool delaySonarDiscoveryCondition(
225  DtReflectedObject* sonar, void* usr );
226 
233  virtual void processPropNoiseAddition( DtReflectedPropulsionNoise* propNoise );
234  virtual void processPropNoiseUpdate( DtReflectedPropulsionNoise* propNoise );
235  virtual void processPropNoiseRemoval( DtReflectedPropulsionNoise* propNoise );
236 
243  virtual void processAddPassActAddition( DtReflectedAdditionalPassiveActivities* apa );
244  virtual void processAddPassActUpdate( DtReflectedAdditionalPassiveActivities* apa );
245  virtual void processAddPassActRemoval( DtReflectedAdditionalPassiveActivities* apa );
246 
254  virtual void processActiveSonarAddition( DtReflectedActiveSonar* sonar );
255  virtual void processActiveSonarUpdate( DtReflectedActiveSonar* sonar );
256  virtual void processActiveSonarRemoval( DtReflectedActiveSonar* sonar );
257 
261  virtual void resolveOrphans();
262 
264  virtual void resolveOrphanedPropulsionNoises();
265 
267  virtual void resolveOrphanedAddPassActivities();
268 
270  virtual void resolveOrphanedActiveSonars();
271 
274  virtual DtReflectedObject* newReflectedObject( DtHlaObject* obj ) const;
275 
278  virtual DtReflectedUnderwaterAcoustics* newReflectedUnderwaterAcoustics(
279  const DtGlobalObjectDesignator& hostId ) const;
280 
285  virtual void objectAdded( DtReflectedObject* obj );
286 
290  virtual bool shouldBeTimedOut( DtReflectedObject* object );
291 
293  DtReflectedPropulsionNoise* propNoiseForUnderwaterAcoustics(
294  DtReflectedUnderwaterAcoustics* underwaterAcoustics );
295 
296 private:
297 
300 
303 
304 protected:
305 
306 #if !DtHLA_1516
307  mutable DtObjectId myCounterId;
308 #endif
309 
310  DtList myOrphanPropulsionNoises;
311  DtReflectedPropulsionNoiseList myPropNoiseList;
312  void* myPropNoiseDiscoveryConditionParameter;
313  DtDiscoveryCondition myPropNoiseDiscoveryCondition;
314 
315  DtList myOrphanAddPassActivities;
317  void* myAddPassActDiscoveryConditionParameter;
318  DtDiscoveryCondition myAddPassActDiscoveryCondition;
319 
320  DtList myOrphanActiveSonars;
321  DtReflectedActiveSonarList myActiveSonarList;
322  void* myActiveSonarDiscoveryConditionParameter;
323  DtDiscoveryCondition myActiveSonarDiscoveryCondition;
324 
325  bool mySubsystemsCauseUpdates;
326 
327 };
328 
329 #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:61
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Instances of DtReflectedActiveSonar represent active sonar object simulated by remote applications...
Definition: reflectedActiveSonarDIS.h:28
Instances of DtReflectedUnderwaterAcoustics represent underwater acoustics objects simulated by remot...
Definition: reflectedUnderwaterAcousticsDIS.h:29
Instances of DtReflectedPropulsionNoise represent propulsion noise object simulated by remote applica...
Definition: reflectedPropulsionNoiseDIS.h:28
Instances of DtReflectedAdditionalPassiveActivities represent APA object simulated by remote applicat...
Definition: reflectedAdditionalPassiveActivitiesDIS.h:28
Instances of this class provide a protocol independent interface to a list of underwater acoustics ob...
Definition: reflectedUnderwaterAcousticsListDIS.h:24
Instances of this class provide a protocol independent interface to a list of additional passive acti...
Definition: reflectedAdditionalPassiveActivitiesListDIS.h:24
DtReflectedObjectList & operator=(const DtReflectedObjectList &orig)
assignment operator – not implemented
DtList is deprecated, please use std::list<T>.
Definition: vlList.h:71
Contains the DtReflectedPropulsionNoiseList class declaration.
Contains the DtReflectedActiveSonarList class declaration.
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
Contains the DtReflectedAdditionalPassiveActivitiesList class declaration.
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(* DtUnderwaterAcousticsCallbackFunction)(DtReflectedUnderwaterAcoustics *, void *)
Callback function that takes a DtReflectedUnderwaterAcoustics and user data.
Definition: reflectedUnderwaterAcousticsDIS.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:29
Instances of this class provide a protocol independent interface to a list of reflected propulsion no...
Definition: reflectedPropulsionNoiseListDIS.h:24
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 Tue Aug 10 00:12:31 EDT 2021 from SVN revision 232765
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)