MAK Data Logger API Documentation for HLA
Home
Modules
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
libsrc
lgrCore
lgrEntityTrackingFormat.h
Go to the documentation of this file.
1
/******************************************************************************
2
** Copyright (c) 1992-2010 VT MAK
3
** All rights reserved.
4
******************************************************************************/
5
8
9
#ifndef lgrEntityTrackingFormat_H_
10
#define lgrEntityTrackingFormat_H_
11
12
#include "
lgrLegacyCheckpointedFormat.h
"
13
#include <vlutil/vlNetTypes.h>
14
15
namespace
MAKLogger
16
{
17
class
DtLgrEntityTracker;
18
25
class
DT_DLL_LGRCORE
DtLgrEntityTrackingFormat
:
public
DtLgrLegacyCheckpointedFormat
26
{
27
protected
:
28
DtLgrEntityTrackingFormat
(
DtLoggerFile
*);
29
public
:
30
virtual
~
DtLgrEntityTrackingFormat
();
31
32
private
:
34
DtLgrEntityTrackingFormat
(
const
DtLgrEntityTrackingFormat
&);
36
DtLgrEntityTrackingFormat
& operator=(
const
DtLgrEntityTrackingFormat
&);
37
public
:
38
40
virtual
void
copyMetaData(
const
DtLgrFileFormatter
* formatter);
41
44
virtual
void
writePacket(
const
DtPacket
& packet);
45
52
virtual
size_t
writePacket(
const
DtPacket
& packet,
void
* memory,
size_t
memorySize,
53
int
fileWriteBufferOffset = -1);
54
56
virtual
DtLgrEntityTracker
* entityTracker()
const
= 0;
57
59
virtual
size_t
headerSize()
const
;
60
61
protected
:
62
64
virtual
DtLgrEntityTracker
* entityTracker() = 0;
65
66
struct
NetPacketHeader
67
{
68
DtNetU32
entityId
;
69
DtNetU32
numBytes
;
70
DtNetU32
flags
;
71
DtNetFloat64
arrivalTime
;
72
};
73
74
protected
:
75
78
virtual
double
currentPacketTime();
79
82
virtual
int
currentPacketType();
83
86
virtual
size_t
currentPacketSize();
87
90
virtual
size_t
currentPacketDataSize();
91
93
virtual
void
fillHeader(
void
* header,
const
DtPacket
& packet);
94
96
virtual
void
writeHeader(
int
fd,
const
DtPacket
& packet);
97
99
virtual
DtNetU32 headerEntityId(
void
* header);
100
102
virtual
DtNetU32 headerNumBytes(
void
* header);
103
105
virtual
DtNetU32 headerFlags(
void
* header);
106
108
virtual
DtNetFloat64 headerArrivalTime(
void
* header);
109
111
virtual
char
* readPacketIntoBuffer(
char
* cur,
char
* end,
112
DtMessageBuffer
& messages,
DtMemoryBufferSP
& buffer);
113
115
virtual
void
readConfigMetaData();
116
118
virtual
void
writeConfigMetaData();
119
121
virtual
void
readDateTimeMetaData();
122
124
virtual
void
writeDateTimeMetaData();
125
127
virtual
void
readEntityTableMetaData();
128
130
virtual
void
writeEntityTableMetaData();
131
132
protected
:
133
134
DtFilePosition
myConfigDataPosition
;
135
DtFilePosition
myDateTimeDataPosition
;
136
DtFilePosition
myEntityTablePosition
;
137
};
138
}
139
140
#endif
141
142
143
144
Document ID: Generated on Thu Apr 11 12:13:00 EDT 2013 from SVN revision 126011
Copyright © 2005-2012 VT MÄK. All Rights Reserved (
www.mak.com
)