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

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)