VR-Link API Documentation for HLA Evolved
dRefActSonar.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 DtDIS
13 
14 #include <vl/activeSonarSR.h>
15 #include <vl/dActSonarDec.h>
16 #include <vl/dReflectedObj.h>
17 #include <vl/sysHashKey.h>
18 
20 
23 typedef void (*DtActiveSonarCallbackFunction)( DtReflectedActiveSonar*, void* );
24 
29 {
30 public:
31 
33  typedef DtActiveSonarStateRepository* (*DtStateRepCreator)();
34 
35 public:
36 
39  const DtGlobalObjectDesignator& hostEntity, int acousticId );
40 
42  virtual ~DtReflectedActiveSonar();
43 
44 public:
45 
47  virtual inline DtActiveSonarStateRepository* activeSonarRep() const
48  {
49  return myStateRepository;
50  }
51 
53  virtual inline DtActiveSonarStateRepository* asr() const { return myStateRepository; }
54 
57  virtual inline DtStateRepository* stateRep() const { return myStateRepository; }
58 
60  virtual inline DtActiveSonarDecoder* decoder() { return &myDecoder; }
61 
64  virtual void processStateMessage( const DtStateMsg& msg );
65 
67  virtual DtReflectedActiveSonar* next() const;
68 
70  virtual DtReflectedActiveSonar* prev() const;
71 
74  virtual DtReflectedActiveSonar* wrapNext() const;
75 
78  virtual DtReflectedActiveSonar* wrapPrev() const;
79 
81  virtual void addPostUpdateCallback( DtActiveSonarCallbackFunction cb, void* userData );
82 
83  virtual void removePostUpdateCallback( DtActiveSonarCallbackFunction cb, void* userData );
84 
86  virtual inline const DtBaseHashKey& hashKey() const { return myHashKey; }
87 
89  virtual inline DtString idString() const { return myIdString; }
90 
93  virtual const DtGlobalObjectDesignator& globalId() const;
94 
95 public:
96 
98  static void setStateRepCreator( DtStateRepCreator creator );
99  static DtStateRepCreator stateRepCreator();
100 
101 protected:
102 
105 
108 
109 protected:
110 
111  static DtStateRepCreator theStateRepCreator;
112 
113 protected:
114 
115  DtSystemHashKey myHashKey;
116  DtString myIdString;
117  DtActiveSonarStateRepository* myStateRepository;
119 
120 };
121 
122 #endif // DtDIS

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)