VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
reflectedEntityHLA.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 MAK Technologies, Inc
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
7 #ifndef reflectedEntityHLA_H_
8 #define reflectedEntityHLA_H_
9 
10 #if DtHLA
11 
12 #include "entityStateRepository.h"
13 #include "reflectedObjectHLA.h"
14 
19 
21 
23 typedef void (*DtEntityCallbackFunction)(
24  DtReflectedEntity* obj, void* userData);
25 
30 {
31 public:
32 
34  typedef DtEntityStateRepository* (*DtStateRepCreator)();
35 
36 public:
37 
39  DtReflectedEntity(DtHlaObject* obj, DtExerciseConn* conn);
40 
45 
47  DtReflectedEntity(DtHlaObject* obj, DtExerciseConn* conn,
48  DtBaseStateRepCreator esrToUse);
49 
51  virtual ~DtReflectedEntity();
52 
55  virtual DtEntityStateRepository* entityStateRep() const;
56 
58  virtual DtEntityStateRepository* esr() const;
59 
61  virtual DtReflectedEntity* next() const;
62 
64  virtual DtReflectedEntity* prev() const;
65 
68  virtual DtReflectedEntity* wrapNext() const;
69 
72  virtual DtReflectedEntity* wrapPrev() const;
73 
75  virtual void addPostUpdateCallback(
76  DtEntityCallbackFunction cb, void* userData);
77  virtual void removePostUpdateCallback(
78  DtEntityCallbackFunction cb, void* userData);
79 
80  virtual void diGuyObjectUpdated();
81 
85  virtual DtOwnershipHandler* setOwnershipHandler( DtOwnershipHandler* handler );
86 
88  virtual void acquireObject();
89 
90 public:
91 
93  static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator);
94 
95 public:
96 
98  typedef DtStateRepCreator DtEsrCreator;
99 
101 #if DtHLA_1516
102  virtual RTI::ObjectInstanceHandle entityObjectId() const;
103 #else
104  virtual RTI::ObjectHandle entityObjectId() const;
105 #endif
106 
109  static DtEsrCreator setEsrCreator(DtEsrCreator creator);
110 
111 protected:
112 
115 
118 
119 protected:
120 
121  static DtStateRepCreator theStateRepCreator;
122 };
123 
125 {
126  return (DtEntityStateRepository*) myStateRep;
127 }
128 
130 {
131  return (DtEntityStateRepository*) myStateRep;
132 }
133 
134 #endif
135 #endif
136 
Instances of this class provide a protocol independent interface to a reflected entity in a DIS envir...
Definition: reflectedEntityDIS.h:39
void * next() const
Return next (previous) elements on the list, or NULL if hit the end (beginning) of the list...
Definition: vlList.h:272
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnDIS.h:62
virtual DtEntityStateRepository * esr() const
Synonym for entityStateRep().
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
DtReflectedObject & operator=(const DtReflectedObject &orig)
assignment operator – not implemented
virtual DtEntityStateRepository * entityStateRep() const
Returns a pointer to the EntityStateRepository - through which you can inspect current state informat...
Instances of DtEntityStateRepository are used to maintain attributes and state of entity objects in a...
Definition: entityStateRepository.h:41
Instances of DtReflectedObject are used to represent a simulation entity reflected across a network (...
Definition: reflectedObjectDIS.h:34
void * prev() const
Definition: vlList.h:277
void * wrapNext() const
Return next (previous) elements on the list, but wrap to the beginning (end) of the list when you hit...
Definition: vlList.h:282
void(* DtEntityCallbackFunction)(DtReflectedEntity *obj, void *userData)
Callback function that takes a DtReflectedEntity and user data.
Definition: reflectedEntityDIS.h:33
Contains the DtEntityStateRepository class declaration.
This is a base class meant to encapsulate user callbacks on ownership management services.
Definition: ownershipHandlerDIS.h:39
void * wrapPrev() const
Definition: vlList.h:288

Document ID: Generated on Wed Mar 27 02:04:30 EDT 2024 from SVN revision 264570
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)