VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
reflectedExtEntity.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2019 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
14 #include <vl/reflectedEntity.h>
15 
16 class DtExerciseConn;
18 
19 // Callback function that takes a DtReflectedExtEntity and usr data.
20 typedef void (*DtExtEntityCallbackFunction)( DtReflectedExtEntity* obj, void* userData );
21 
22 /*
23  This class extends DtReflectedEntity from VR-Link.
24 
25  In VR-Forces, on the Gui side, instances are created instead of instances of DtReflectedEntity.
26 
27  Additional note: this class is also responsible for setting up extended DI-Guy decoders, which
28  allow the contents of DI-Guy related packets to be controlled from VrfVrlExt, so that modifications
29  don't need to be made to code in VR-Link.
30 */
32 {
33 public:
34 
36 #if DtHLA
37  DtReflectedExtEntity( DtHlaObject* obj, DtExerciseConn* conn );
38  DtReflectedExtEntity( DtExerciseConn* conn, DtEntityStateRepository* esrToUse );
39 #else // DtDIS
40  DtReflectedExtEntity( DtExerciseConn* conn, const DtEntityIdentifier& id, const DtEntityType& type );
41 #endif
42 
44  virtual ~DtReflectedExtEntity();
45 
48  virtual DtExtEntityStateRepository* extEntityStateRep() const;
49 
51  virtual DtExtEntityStateRepository* eesr() const;
52 
54  virtual DtStateRepository* stateRep() const;
55 
56 #if DtDIS
57  virtual void processStateMessage( const DtStateMsg& msg );
60 #endif
61 
63  virtual DtReflectedExtEntity* nextEE() const;
64  virtual DtReflectedExtEntity* prevEE() const;
65 
67  virtual DtReflectedExtEntity* wrapNextEE() const;
68  virtual DtReflectedExtEntity* wrapPrevEE() const;
69 
71  virtual void addPostUpdateCallback( DtExtEntityCallbackFunction cb, void* userData );
72  virtual void removePostUpdateCallback( DtExtEntityCallbackFunction cb, void* userData );
73  static void postUpdateCallback( DtReflectedExtEntity* ent, void* userData );
74 
75  virtual void processPostUpdate();
76 
77  virtual void updateExtensions();
78 
79  // Overridden from Bast (:3) class to make public.
80  virtual void processPostUpdateCallbacks();
81 
82 private:
83 
86 
88  DtReflectedExtEntity& operator = ( const DtReflectedExtEntity& orig );
89 
90 };
void(* DtExtEntityCallbackFunction)(DtReflectedExtEntity *obj, void *userData)
Definition: reflectedExtEntity.h:20
Definition: reflectedExtEntity.h:31
DtExtEntityStateRepository class extends the DtExtEntityBaseStateRepository to be able to handle exte...
Definition: extEntityStateRepository.h:25
Contains the DtExtEntityStateRepository class.
#define DT_DLL_vrfExtObjects
Definition: dllExport.h:23

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)