VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
reflectedLinearObjectDIS.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2014 VT MAK
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 
24 
29 {
30 public:
31 
33  typedef DtLinearObjectRepository* (*DtStateRepCreator)();
34 
35 public:
36 
39  const DtEntityIdentifier& id );
40 
42  virtual ~DtReflectedLinearObject();
43 
45  virtual inline DtLinearObjectRepository* linearObjectStateRep() const { return myStateRepository; }
46 
48  virtual inline DtLinearObjectRepository* losr() const { return myStateRepository; }
49 
52  virtual inline DtStateRepository* stateRep() const { return myStateRepository; }
53 
56  virtual void processStateMessage( const DtStateMsg& msg );
57 
59  virtual DtReflectedLinearObject* next() const;
60 
62  virtual DtReflectedLinearObject* prev() const;
63 
66  virtual DtReflectedLinearObject* wrapNext() const;
67 
70  virtual DtReflectedLinearObject* wrapPrev() const;
71 
73  virtual void addPostUpdateCallback(
74  DtLinearObjectCallbackFunction cb, void* usr );
75  virtual void removePostUpdateCallback(
76  DtLinearObjectCallbackFunction 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 
108 
109 };
110 
111 #endif // DtDIS
Instances of DtEntityIdentifierHashKey are hash keys made from DtEntityIdentifiers.
Definition: entityIdentifierHashKey.h:21
Instances of DtReflectedLinearObject represent Linear Object simulated by remote applications.
Definition: reflectedLinearObjectDIS.h:28
Contains the DtLinearObjectRepository class declaration.
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&#39;s interface or connection to the netwo...
Definition: exerciseConnDIS.h:61
virtual DtStateRepository * stateRep() const
Returns a pointer to the StateRepository through which you can inspect current state information...
Definition: reflectedLinearObjectDIS.h:52
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
DtBaseHashKey is an abstract base class for hash keys.
Definition: vlHashKeys.h:39
DtLinearObjectDecoder * myDecoder
Definition: reflectedLinearObjectDIS.h:107
DtEntityIdentifierHashKey myHashKey
Definition: reflectedLinearObjectDIS.h:104
DtLinearObjectRepository * myStateRepository
Definition: reflectedLinearObjectDIS.h:106
DtReflectedObject & operator=(const DtReflectedObject &orig)
assignment operator – not implemented
virtual const DtBaseHashKey & hashKey() const
Get a hash key for this object.
Definition: reflectedLinearObjectDIS.h:79
Provides decoding logic for the DtLinearObjectStatePdu class.
Definition: linearObjectDecoderDIS.h:20
virtual DtLinearObjectRepository * losr() const
Synonym for linearObjectStateRep().
Definition: reflectedLinearObjectDIS.h:48
void(* DtLinearObjectCallbackFunction)(DtReflectedLinearObject *, void *)
Callback function that takes a DtReflectedLinearObject and user data.
Definition: reflectedLinearObjectDIS.h:23
Instances of DtReflectedObject are used to represent a simulation entity reflected across a network (...
Definition: reflectedObjectDIS.h:34
virtual const DtGlobalObjectDesignator & globalId() const =0
Get the Global ID for this object.
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
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
static DtStateRepCreator theStateRepCreator
Definition: reflectedLinearObjectDIS.h:102
virtual DtLinearObjectRepository * linearObjectStateRep() const
Get the linear object&#39;s state repository.
Definition: reflectedLinearObjectDIS.h:45
Contains the DIS DtLinearObjectDecoder class declaration.
virtual void processStateMessage(const DtStateMsg &msg)
Process an entity state PDU.
virtual DtString idString() const
Get a string identification of this object.
Definition: reflectedLinearObjectDIS.h:82
void * wrapPrev() const
Definition: vlList.h:288
DtString myIdString
Definition: reflectedLinearObjectDIS.h:105
Instances of DtString are used to represent strings.
Definition: vlString.h:29
Instances of DtLinearObjectRepository are used to maintain state information needed by linear object ...
Definition: linearObjectRepository.h:49
Instances of DtStateMsg are used to represent state data communicated via the network in a DIS (as op...
Definition: stateMsgDIS.h:21

Document ID: Generated on Mon Apr 25 03:39:01 EDT 2022 from SVN revision 242502
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)