VR-Link API Documentation for DIS
hRefActSonar.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/hReflectedObj.h>
15 #include <vl/activeSonarSR.h>
16 
18 
21 typedef void (*DtActiveSonarCallbackFunction)(
22  DtReflectedActiveSonar* obj, void* usr );
23 
29 {
30 public:
31 
33  typedef DtActiveSonarStateRepository* (*DtStateRepCreator)();
34 
35 public:
36 
40  DtReflectedActiveSonar( DtHlaObject* obj, DtExerciseConn* conn,
41  bool beamsUpdateSystem = true );
42 
46  const DtGlobalObjectDesignator& des, DtExerciseConn* conn,
47  bool beamsUpdateSystem = true );
48 
50  virtual ~DtReflectedActiveSonar();
51 
53  static DtStateRepCreator setStateRepCreator( DtStateRepCreator creator );
54 
56  virtual DtActiveSonarStateRepository* activeSonarRep() const;
57 
59  virtual DtActiveSonarStateRepository* asr() const;
60 
63  virtual DtReflectedActiveSonar* next() const;
64 
67  virtual DtReflectedActiveSonar* prev() const;
68 
71  virtual DtReflectedActiveSonar* wrapNext() const;
72 
75  virtual DtReflectedActiveSonar* wrapPrev() const;
76 
79  virtual void addPostUpdateCallback( DtActiveSonarCallbackFunction cb,
80  void* usr );
81 
84  virtual void removePostUpdateCallback( DtActiveSonarCallbackFunction cb,
85  void* usr );
86 
89  virtual void setAsr( DtActiveSonarStateRepository* asr );
90 
92  virtual void beamUpdated();
93 
94 protected:
95 
98 
101 
102 protected:
103 
105  static DtStateRepCreator theStateRepCreator;
106 
107  DtActiveSonarStateRepository* myConstructedAsr;
108 
109  bool myBeamsUpdateSystem;
110 
111 };
112 
114 {
115  return (DtActiveSonarStateRepository*) myStateRep;
116 }
117 
119 {
120  return (DtActiveSonarStateRepository*) myStateRep;
121 }
122 
123 #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)