VR-Link API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
reflectedArealObjectDIS.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2014 MAK Technologies, Inc
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #if DtDIS
13 
16 #include <vl/reflectedObjectDIS.h>
17 #include <vl/objectIdHashKey.h>
18 
20 
23 typedef void (*DtArealObjectCallbackFunction)( DtReflectedArealObject*, void* );
24 
29 {
30 public:
31 
33  typedef DtArealObjectRepository* (*DtStateRepCreator)();
34 
35 public:
36 
39  const DtEntityIdentifier& id );
40 
42  virtual ~DtReflectedArealObject();
43 
45  virtual inline DtArealObjectRepository* arealObjectStateRep() const { return myStateRepository; }
46 
48  virtual inline DtArealObjectRepository* aosr() const { return myStateRepository; }
49 
52  virtual inline DtStateRepository* stateRep() const { return myStateRepository; }
53 
56  virtual void processStateMessage( const DtStateMsg& msg );
57 
59  virtual DtReflectedArealObject* next() const;
60 
62  virtual DtReflectedArealObject* prev() const;
63 
66  virtual DtReflectedArealObject* wrapNext() const;
67 
70  virtual DtReflectedArealObject* wrapPrev() const;
71 
73  virtual void addPostUpdateCallback(
74  DtArealObjectCallbackFunction cb, void* usr );
75  virtual void removePostUpdateCallback(
76  DtArealObjectCallbackFunction cb, void* usr );
77 
79  virtual inline const DtBaseHashKey& hashKey() const { return myHashKey; }
80 
82  virtual inline DtString idString() const { return myIdString; }
83 
86  virtual const DtGlobalObjectDesignator& globalId() const;
87 
89  static void setStateRepCreator( DtStateRepCreator creator );
90  static DtStateRepCreator stateRepCreator();
91 
92 protected:
93 
96 
99 
100 protected:
101 
102  static DtStateRepCreator theStateRepCreator;
103 
104  DtEntityIdentifierHashKey myHashKey;
105  DtString myIdString;
106  DtArealObjectRepository* myStateRepository;
108 
109 };
110 
111 #endif // DtDIS
Instances of DtEntityIdentifierHashKey are hash keys made from DtEntityIdentifiers.
Definition: entityIdentifierHashKey.h:21
DtHlaStateDecoder * myDecoder
Definition: reflectedObjectHLA.h:181
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnHLA.h:61
Contains the DtArealObjectRepository class declaration.
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Contains the DIS DtArealObjectDecoder class declaration.
DtBaseHashKey is an abstract base class for hash keys.
Definition: vlHashKeys.h:39
Instances of DtArealObjectDecoder are used to decode areal object state messages for a state reposito...
Definition: arealObjectDecoderHLA.h:26
DtReflectedObject & operator=(const DtReflectedObject &orig)
assignment operator – Not Implemented
void(* DtArealObjectCallbackFunction)(DtReflectedArealObject *obj, void *userData)
Definition: reflectedArealObjectHLA.h:23
virtual DtStateRepository * stateRep() const
Returns a pointer to the StateRepository - through which you can inspect current state information...
Definition: reflectedObjectHLA.h:198
virtual const DtGlobalObjectDesignator & globalId() const
Get the HLA object&#39;s global object designator - the object name in HLA.
class DtReflectedObject:
Definition: reflectedObjectHLA.h:36
DtStateRepository is an abstract base class for maintaining state for an object.
Definition: stateRepository.h:50
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
Instances of DtArealObjectRepository are used to maintain state information needed by areal object en...
Definition: arealObjectRepository.h:30
Instances of DtString are used to represent strings.
Definition: vlString.h:29
class DtStateMsg:
Definition: stateMsgHLA.h:32
class DtReflectedArealObject:
Definition: reflectedArealObjectHLA.h:31

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)