VR-Exchange 2.8 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
tenaBroker/vlTena/reflectedEntity.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2014 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #if DtTENA
11 
12 #pragma once
13 
14 #include <vlTena/reflectedObject.h>
15 #include <vl/globalObjectDesignator.h>
16 
17 class DtEntityStateDecoder;
18 class DtEntityStateRepository;
19 
20 namespace MAKVrExchange
21 {
22 
23  namespace DtTenaBroker
24  {
25 
26  class DtExerciseConn;
27  class DtReflectedEntity;
28 
30  typedef void (*DtEntityCallbackFunction)(
31  DtReflectedEntity* obj, void* userData);
32 
36  class DT_DLL_VLTENA DtReflectedEntity : public DtReflectedObject
37  {
38  public:
39 
42  typedef DtEntityStateRepository* (*DtStateRepCreator)();
43 
44  public:
45 
47  DtReflectedEntity(DtExerciseConn* conn);
48 
50  DtReflectedEntity(DtExerciseConn* conn, DtBaseStateRepCreator esrToUse);
51 
53  virtual ~DtReflectedEntity();
54 
56  virtual DtReflectedEntity* next() const;
57 
60  virtual DtEntityStateRepository* entityStateRep() const;
61 
63  virtual DtEntityStateRepository* esr() const;
64 
66  virtual DtReflectedEntity* prev() const;
67 
70  virtual DtReflectedEntity* wrapNext() const;
71 
74  virtual DtReflectedEntity* wrapPrev() const;
75 
77  void removePostUpdateCallback( DtEntityCallbackFunction , void* );
78 
80  void addPostUpdateCallback( DtEntityCallbackFunction , void* );
81 
83  virtual const DtObjectId& id() const;
84 
86  virtual const DtGlobalObjectDesignator& globalId() const;
87 
89  virtual void printDataToStream(std::ostream& str) const;
90 
92  static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator);
93 
94  static void setUseDeadReckoning(bool yesNo);
95  static bool useDeadReckoning();
96 
97  private:
98 
100  DtReflectedEntity(const DtReflectedEntity& orig);
101 
103  DtReflectedEntity& operator=(const DtReflectedEntity& orig);
104 
105  protected:
106 
107  static DtStateRepCreator theStateRepCreator;
108  static bool theUseDeadReckoning;
109 
110  };
111 
112  inline DtEntityStateRepository* DtReflectedEntity::entityStateRep() const
113  {
114  return (DtEntityStateRepository*) myStateRep;
115  }
116 
117  inline DtEntityStateRepository* DtReflectedEntity::esr() const
118  {
119  return (DtEntityStateRepository*) myStateRep;
120  }
121 
122  }
123 }
124 
125 #endif // DtTENA
#define DT_DLL_VLTENA
Definition: brokers/tenaBroker/vlTena/dllExport.h:26

Document ID: Generated on Tue Aug 16 16:15:26 EDT 2022 from SVN revision 245901
Copyright © 2005-2022 MAK Technologies. All Rights Reserved (www.mak.com)