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,
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;
144 virtual DtForceType entityForce(
EntryHandle handle) const;
167 virtual DtLgrEntityTracker* createFromPacket(const
DtPacket& packet) = 0;
176 virtual DtForceType entityForce(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);
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);