9 #ifndef lgrEntityTrackingFormat_H_
10 #define lgrEntityTrackingFormat_H_
13 #include <vlutil/vlNetTypes.h>
17 class DtLgrEntityTracker;
44 virtual void writePacket(
const DtPacket& packet);
52 virtual size_t writePacket(
const DtPacket& packet,
void* memory,
size_t memorySize,
53 int fileWriteBufferOffset = -1);
59 virtual size_t headerSize()
const;
81 virtual bool validPacket(
double previousPacketTime = -1.0,
82 double* currentTime=0);
85 virtual bool validateStartMetaDataType(
int type);
88 virtual bool validateEndMetaDataType(
int type);
92 virtual void validateStartMetaDataMap() = 0;
96 virtual void validateEndMetaDataMap() = 0;
100 virtual double currentPacketTime();
104 virtual int currentPacketType();
108 virtual size_t currentPacketSize();
112 virtual size_t currentPacketDataSize();
115 virtual void fillHeader(
void* header,
const DtPacket& packet);
118 virtual void writeHeader(
int fd,
const DtPacket& packet);
121 virtual DtNetU32 headerEntityId(
void* header);
124 virtual DtNetU32 headerNumBytes(
void* header);
127 virtual DtNetU32 headerFlags(
void* header);
130 virtual DtNetFloat64 headerArrivalTime(
void* header);
133 virtual char* readPacketIntoBuffer(
char* cur,
char* end,
137 virtual void readStartMetaData();
140 virtual void readEndMetaData();
143 virtual void readConfigMetaData();
146 virtual void writeConfigMetaData();
149 virtual void writeDescriptionMetaData();
152 virtual void readDateTimeMetaData();
155 virtual void writeDateTimeMetaData();
158 virtual void readEntityTableMetaData();
161 virtual void writeEntityTableMetaData();
167 virtual void decodePacket(
DtPacket* packet);