15 #include <vlutil/vlNetTypes.h>
16 #include <vlutil/vlString.h>
17 #include <vlpi/disEnums.h>
26 class DtMessageBuffer;
28 class DtLgrBaseSimManager;
64 DtLgrEntityTracker(const DtLgrEntityTracker&);
66 DtLgrEntityTracker& operator=(const DtLgrEntityTracker&);
90 virtual
EntryHandle addEntry(
double firstTime,
double lastTime,
91 const DtString& name, const DtString& type, DtForceType force, const DtString& marking,
105 virtual
EntryHandle addTemporaryEntry(const DtString& name);
112 virtual
EntryHandle addTemporaryMarking(const DtString& marking);
116 virtual
EntryHandle findEntry(const DtString& name) const;
119 virtual
int entityCount() const;
122 virtual
void clearEntries();
125 virtual
bool isPermanentEntry(
EntryHandle handle) const;
132 virtual
double entityFirstTime(
EntryHandle handle) const;
135 virtual
double entityLastTime(
EntryHandle handle) const;
138 virtual DtString entityName(
EntryHandle handle) const;
141 virtual DtString entityType(
EntryHandle handle) const;
144 virtual DtForceType entityForce(
EntryHandle handle) const;
147 virtual DtString entityMarking(
EntryHandle handle) const;
167 virtual DtLgrEntityTracker* createFromPacket(const
DtPacket& packet) = 0;
170 virtual DtString entityName(const
DtPacket& packet) const = 0;
173 virtual DtString entityType(const
DtPacket& packet) const = 0;
176 virtual DtForceType entityForce(const
DtPacket& packet) const = 0;
179 virtual DtString entityMarking(const
DtPacket& packet) const = 0;
184 virtual
int encodedSize() const;
187 virtual
DtPacket* encodePacket() const;
192 virtual
void decodePacket(const
DtPacket*);
195 virtual
void deserializeFromString(const DtString& data);
198 virtual DtString serialize();
201 virtual DtString serializeAdded();
219 DtNetU16 dataSize[1];
258 virtual unsigned encodedEntrySize(
const TrackerEntry& entry,
bool includePadding=
true)
const;
262 virtual char* encodeEntry(
char* entryData,
const TrackerEntry& entry)
const;
266 virtual const char* decodeEntry(
const char* entryData);
269 virtual void advanceToNextToken(
const char*& data,
const char* dataEnd);
271 bool getFloat(
const char*& token,
const char* dataEnd,
const DtString& tokenName,
float& value);
272 bool getInt(
const char*& token,
const char* dataEnd,
const DtString& tokenName,
int& value);
273 bool getString(
const char*& token,
const char* dataEnd,
const DtString& tokenName, DtString& value);
277 virtual void deserializeEntryFromString(
const char** data,
const char* dataEnd);
280 virtual void serializeEntry(DtString& serialized,
unsigned index,
const TrackerEntry& entry);
std::map< DtString, EntryHandle > TrackerEntryIndex
Definition: lgrEntityTracker.h:250
std::vector< TrackerEntry > TrackerEntryList
The format encoded in the entity table packet (all in network byte order) is as follows: ...
Definition: lgrEntityTracker.h:249
#define DT_PURE_VIRTUAL_CTR(CLASS_NAME, ARG_TYPES_LIST)
Declare a pure virtual constructor.
Definition: virtualConstructor.h:138
DtLgrBaseSimManager * mySimMgr
The simulation manager.
Definition: lgrEntityTracker.h:285
bool temporary
Definition: lgrEntityTracker.h:44
Contains MAKLogger::DtFilePosition typedef.
int TrackerUpdateId
Definition: lgrEntityTracker.h:36
DtNetU32 unused
Definition: lgrEntityTracker.h:226
DtNetU32 numEntries
Definition: lgrEntityTracker.h:225
Contains DT_VIRTUAL_CTR DT_VIRTUAL_CTR_DEFAULTS DT_VIRTUAL_COPY_ASSIGN DT_VIRTUAL_BASE_CTR DT_PURE_VI...
std::set< DtLgrEntityTracker::EntryHandle > EntryHandleSet
Definition: lgrEntityTracker.h:38
double lastTime
Definition: lgrEntityTracker.h:46
Message buffer class responsible for storing a list of messages and iterating through that list...
Definition: messageBuffer.h:23
const TrackerEntry myInvalidEntry
An invalid entry.
Definition: lgrEntityTracker.h:307
std::map< unsigned int, TrackerEntry > myAddedEntities
Recently added tracked entities (as of last serialize) Includes temporary entities.
Definition: lgrEntityTracker.h:292
int myAlignmentSize
Byte alignment size.
Definition: lgrEntityTracker.h:304
int myNumberTrackedData
Number of variable tracked data in an encoded entry.
Definition: lgrEntityTracker.h:301
DtString name
Definition: lgrEntityTracker.h:48
TrackerUpdateId myLastUpdateId
The update ID counter.
Definition: lgrEntityTracker.h:298
static DtString theSerializeLabel
Definition: lgrEntityTracker.h:315
double firstTime
Definition: lgrEntityTracker.h:45
TrackedDataIndex
Definition: lgrEntityTracker.h:205
A generic packed of typed binary data.
Definition: packet.h:41
const char myFieldSeparator
Serialize field separator.
Definition: lgrEntityTracker.h:311
DtString type
Definition: lgrEntityTracker.h:49
DtForceType force
Definition: lgrEntityTracker.h:47
const DtString myFieldSeparatorString
Serialize field separator.
Definition: lgrEntityTracker.h:312
#define DT_DLL_LGRCORE
Definition: lgrCore.h:19
Shared implementation of the Sim Manager.
Definition: lgrBaseSimManager.h:29
TrackerEntryList myTrackedEntities
The tracked entities.
Definition: lgrEntityTracker.h:288
Indexes packets in a file.
Definition: lgrEntityTracker.h:32
class DT_DLL_LGRUTIL DtAbsoluteTime
Definition: absoluteTime.h:22
TrackerEntryIndex myEntityIndex
Map of tracked entity handles by name.
Definition: lgrEntityTracker.h:295
int EntryHandle
Definition: lgrEntityTracker.h:37
An entry in the list of tracked entities Constructor used for const value.
Definition: lgrEntityTracker.h:42
DtString marking
Definition: lgrEntityTracker.h:50
Absolute Time, a particular measured instance in time, could be thought of as a set of relative times...
Definition: absoluteTime.h:82
Contains lgrCore library definitions.
The table stored at the beginning of the packet followed by the net entries.
Definition: lgrEntityTracker.h:223