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) 2025 MAK Technologies, Inc.
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 #else // DtDIS
39  DtReflectedExtEntity( DtExerciseConn* conn, const DtEntityIdentifier& id, const DtEntityType& type );
40 #endif
41 
42  DtReflectedExtEntity( DtExerciseConn* conn, DtEntityStateRepository* esrToUse );
43 
45  virtual ~DtReflectedExtEntity() override;
46 
49  virtual DtExtEntityStateRepository* extEntityStateRep() const;
50 
52  virtual DtExtEntityStateRepository* eesr() const;
53 
55  virtual DtStateRepository *stateRep() const override;
56 
57 #if DtDIS
58  virtual void processStateMessage(const DtStateMsg &msg) override;
61 #endif
62 
64  virtual DtReflectedExtEntity* nextEE() const;
65  virtual DtReflectedExtEntity* prevEE() const;
66 
68  virtual DtReflectedExtEntity* wrapNextEE() const;
69  virtual DtReflectedExtEntity* wrapPrevEE() const;
70 
72  virtual void addPostUpdateCallback( DtExtEntityCallbackFunction cb, void* userData );
73  virtual void removePostUpdateCallback( DtExtEntityCallbackFunction cb, void* userData );
74  static void postUpdateCallback( DtReflectedExtEntity* ent, void* userData );
75 
76  virtual void processPostUpdate();
77 
78  virtual void updateExtensions();
79 
80  // Overridden from Bast (:3) class to make public.
81  virtual void processPostUpdateCallbacks() override;
82 
83 private:
84 
87 
89  DtReflectedExtEntity& operator = ( const DtReflectedExtEntity& orig );
90 
91 };
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 Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)