15 #include <vlutil/vlNetTypes.h>
16 #include <vlutil/vlString.h>
17 #include <vlpi/disEnums.h>
26 class DtLgrBaseSimManager;
62 DtLgrEntityTracker(const DtLgrEntityTracker&);
64 DtLgrEntityTracker& operator=(const DtLgrEntityTracker&);
88 virtual
EntryHandle addEntry(
double firstTime,
double lastTime,
110 virtual
int entityCount() const;
113 virtual
void clearEntries();
116 virtual
bool isPermanentEntry(
EntryHandle handle) const;
123 virtual
double entityFirstTime(
EntryHandle handle) const;
126 virtual
double entityLastTime(
EntryHandle handle) const;
135 virtual DtForceType entityForce(
EntryHandle handle) const;
141 virtual
void parsePacket(const
DtPacket& packet);
153 virtual DtLgrEntityTracker* createFromPacket(const
DtPacket& packet) = 0;
162 virtual DtForceType entityForce(const
DtPacket& packet) const = 0;
170 virtual
int encodedSize() const;
173 virtual
DtPacket* encodePacket() const;
178 virtual
void decodePacket(const
DtPacket*);
181 virtual
void deserializeFromString(const
DtString& data);
202 DtNetU16 dataSize[1];
241 virtual unsigned encodedEntrySize(
const TrackerEntry& entry,
bool includePadding=
true)
const;
245 virtual char* encodeEntry(
char* entryData,
const TrackerEntry& entry)
const;
249 virtual const char* decodeEntry(
const char* entryData);
252 virtual void advanceToNextToken(
const char*& data,
const char* dataEnd);
254 bool getFloat(
const char*& token,
const char* dataEnd,
const DtString& tokenName,
float& value);
255 bool getInt(
const char*& token,
const char* dataEnd,
const DtString& tokenName,
int& value);
256 bool getString(
const char*& token,
const char* dataEnd,
const DtString& tokenName,
DtString& value);
260 virtual void deserializeEntryFromString(
const char** data,
const char* dataEnd,
int index);