MAK Data Logger API Documentation for DIS
hlaStateObject.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef hlaStateObject_H_
11 #define hlaStateObject_H_
12 
13 #include "lgrSim.h"
14 
15 #include "stateObject.h"
16 #include "absoluteTime.h"
17 #include "hlaMessageFactory.h"
18 #include "hlaTimeStampedAttr.h"
19 
20 #include <list>
21 #include <map>
22 
23 #include <vl/rtiCompatibility.h>
24 
25 namespace MAKLogger
26 {
27  class DtLgrHlaMessage;
28  class DtLgrHlaMessageState;
29  class DtLgrHlaSimulationManager;
30 
34  {
35  public:
36 
39 
40  void update(DtAbsoluteTime time,DtLgrHandleValueReferenceMap* attributes);
41 
42  //Generate a list of timed AHVPSets.
43  void generate(DtTimedHandleValueMapList& outputList);
44 
45  typedef std::map<DtLgrHlaHandle,DtHlaTimeStampedAttribute*> HandleTimedAttributeMap;
46  const HandleTimedAttributeMap& attributes() const;
47 
48  protected:
49 
51  };
52 
56  {
57 
58  public:
59 
61  DT_VIRTUAL_CTR(DtHlaStateObject,(DtLgrHlaMessageState&,DtPacket&))
62 
63 
65 
66 
67  virtual ~DtHlaStateObject();
68 
70  virtual bool isEntity() const;
71 
73  virtual bool isAggregate() const;
74 
76  virtual DtU64 uniqueId() const;
77 
79  virtual DtU64 uniqueId(const DtHlaObject* object) const;
80 
82  DtU64 packetId(DtPacket& packet) const;
83 
86  void setPacketId(DtU64,DtPacket&) const;
87 
89  virtual DtPacket* createUpdate(const DtAbsoluteTime& currentTime) const;
90 
92  virtual DtPacket* createUpdates(const DtAbsoluteTime& currentTime) const;
93 
95  virtual DtPacket* createRemoval(const DtAbsoluteTime& currentTime) const;
96 
98  virtual bool packetForMe(DtPacket&) const;
99 
101  virtual void updateViaPacket(DtPacket&);
102 
104  virtual DtHlaTimeStampledStateRep* attributes();
105 
107  virtual const DtRegionDescSet& regionSet() const;
108 
109  inline DtLgrHlaHandle objectHandle() const{ return myObjectHandle;}
110  inline DtLgrHlaHandle classHandle() const{ return myClassHandle;}
111  inline const DtString& name() const {return myName;}
112  inline const DtString& tag() const { return myTag;}
113 
114  protected:
115 
116  DtLgrHlaHandle myObjectHandle;
117  DtLgrHlaHandle myClassHandle;
118  DtString myName;
119  DtString myTag;
120 
121  DtLgrHlaMessageState* myState;
123  DtRegionDescSet myRegions;
124 
125  mutable const DtBaseObjClassDesc* myClassDesc;
126 
127  };
128 
129 }
130 
131 #endif

Document ID: Generated on Sun Dec 15 18:04:30 EST 2013 from SVN revision 134418
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)