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();
216 DtNetU16 dataSize[1];
255 virtual unsigned encodedEntrySize(
const TrackerEntry& entry,
bool includePadding=
true)
const;
259 virtual char* encodeEntry(
char* entryData,
const TrackerEntry& entry)
const;
263 virtual const char* decodeEntry(
const char* entryData);
266 virtual void advanceToNextToken(
const char*& data,
const char* dataEnd);
268 bool getFloat(
const char*& token,
const char* dataEnd,
const DtString& tokenName,
float& value);
269 bool getInt(
const char*& token,
const char* dataEnd,
const DtString& tokenName,
int& value);
270 bool getString(
const char*& token,
const char* dataEnd,
const DtString& tokenName, DtString& value);
274 virtual void deserializeEntryFromString(
const char** data,
const char* dataEnd,
int index);
277 virtual void serializeEntry(DtString& serialized,
unsigned index,
const TrackerEntry& entry);