VR-Vantage 3.0 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
reflectedControlObject.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2017 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
14 #include <vl/reflectedEnvironmentProcess.h>
15 
16 // Callback function that takes a DtReflectedControlObject and usr data.
18 
20 (
21  DtReflectedControlObject* obj, void* userData
22 );
23 
24 class DtExerciseConn;
25 
27 {
28 public:
29 #if DtHLA
30  // constructor
31  DtReflectedControlObject(DtHlaObject* obj, DtExerciseConn* conn);
32 #else // DtDIS
33  // constructor
35  (
36  DtExerciseConn* conn,
37  const DtEntityIdentifier& id,
38  const DtEntityType& type
39  );
40 #endif
41 
42  // destructor
43  virtual ~DtReflectedControlObject();
44 
45  // Returns ptr to environmentProcessStateRepository --
46  // through which you can inspect current state info.
47  virtual DtControlObjectRepository* controlObjectStateRep() const;
48 
49  // Synonym for environmentStateRep.
50  virtual DtControlObjectRepository* cosr() const;
51 
52  // Implementation for abstract base class. Calls cosr().
53  virtual DtStateRepository* stateRep() const;
54 
55 #if DtDIS
56  // Process an environment process state PDU.
57  // Calls processEnvironmentProcess().
58  virtual void processStateMessage(const DtStateMsg& msg);
59 #endif
60 
61  // Get the next and previous elements in the reflected
62  // cwenvironment process list.
63  virtual DtReflectedControlObject* nextCO() const;
64  virtual DtReflectedControlObject* prevCO() const;
65 
66  // Get the next and previous elements, wrap at the ends of the list.
67  virtual DtReflectedControlObject* wrapNextCO() const;
68  virtual DtReflectedControlObject* wrapPrevCO() const;
69 
70  // Environment Process callback registration/deregistration.
71  virtual void addPostUpdateCallback
72  (
73  DtControlObjectCallbackFunction cb, void* userData
74  );
75  virtual void removePostUpdateCallback
76  (
77  DtControlObjectCallbackFunction cb, void* userData
78  );
79 
80  static void postUpdateCallback
81  (
82  DtReflectedControlObject* obj, void* userData
83  );
84 
85  virtual void processPostUpdateCallback(DtReflectedControlObject* obj);
86 
87  // updateExtensions()
88  // extracts the extended environmental process state information,
89  // if present, from the state repository
90  virtual void updateExtensions();
91 
92 private:
93  // not implemented.
95  DtReflectedControlObject& operator=(const DtReflectedControlObject& orig);
96 
97 };
98 


Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)