VR-Link API Documentation for DIS
Home
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
include
vl
mineStatePdu.h
Go to the documentation of this file.
1
/*********************************************************************
2
** Copyright (c) 1992-2010 VT MAK
3
** All rights reserved.
4
*********************************************************************/
5
6
9
10
#ifndef DtMinefieldStatePdu_H_
11
#define DtMinefieldStatePdu_H_
12
13
#if DtDIS
14
15
#include <
vlutil/vlMachineTypes.h
>
16
#include "
hostStructs.h
"
17
#include "
pdu.h
"
18
#include <
matrix/vlMath.h
>
19
#include "
exerciseConn.h
"
20
21
#include "
packets/mineStateP.h
"
22
23
#include "
minePerimeter.h
"
24
25
26
class
DT_DLL_VL
DtMinefieldStatePdu
;
27
29
typedef
void (*
DtMinefieldStatePduCb
)(
DtMinefieldStatePdu
* pdu,
void
* usr);
30
35
36
class
DT_DLL_VL
DtMinefieldStatePdu
:
public
DtPdu
37
{
38
39
public
:
40
42
DtMinefieldStatePdu
(
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
);
43
DtMinefieldStatePdu
(
const
DtNetMinefieldStatePdu
* initial,
44
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
);
45
DtMinefieldStatePdu
(
const
DtMinefieldStatePdu
& orig);
46
48
virtual
~
DtMinefieldStatePdu
();
49
51
DtMinefieldStatePdu
&
operator=
(
const
DtMinefieldStatePdu
& orig);
52
54
virtual
void
setMinefieldID(
const
DtEntityIdentifier
&
id
);
55
virtual
const
DtEntityIdentifier
& minefieldID()
const
;
56
58
virtual
void
setSequenceNumber(
DtU16
field);
59
virtual
DtU16
sequenceNumber()
const
;
60
62
virtual
void
setForceID(
DtForceType
force);
63
virtual
DtForceType
forceID()
const
;
64
66
virtual
bool
setNumPerimeterPoints(
DtU8
num);
67
virtual
DtU8
numPerimeterPoints()
const
;
68
70
virtual
void
setMinefieldType(
const
DtEntityType
& type);
71
virtual
const
DtEntityType
& minefieldType()
const
;
72
74
virtual
bool
setNumMineTypes(
DtU16
num);
75
virtual
DtU16
numMineTypes()
const
;
76
78
virtual
void
setLocation(
const
DtVector
& coords);
79
virtual
const
DtVector
& location()
const
;
80
82
virtual
void
setOrientation(
const
DtTaitBryan
& orientation);
83
virtual
const
DtTaitBryan
& orientation()
const
;
84
86
virtual
void
setAppearance(
DtU16
app);
87
virtual
DtU16
appearance()
const
;
88
90
virtual
void
setAppearanceAttribute(
91
DtAppearAttribute
attr,
DtAppearAttrVal
val);
92
virtual
DtAppearAttrVal
appearanceAttribute(
93
DtAppearAttribute
attr)
const
;
94
97
virtual
void
setMinefieldProtocolMode(
DtMinefieldProtocol
mode);
98
virtual
DtMinefieldProtocol
minefieldProtocolMode()
const
;
99
102
virtual
bool
setPerimeterPoint(
int
index,
103
const
DtMinefieldPerimeterRecord
& init);
104
virtual
bool
getPerimeterPoint(
int
index,
105
DtMinefieldPerimeterRecord
& record)
const
;
106
109
virtual
bool
setMineType(
int
index,
110
const
DtEntityType
& init);
111
virtual
bool
getMineType(
int
index,
112
DtEntityType
& record)
const
;
113
115
virtual
void
printData
()
const
;
116
118
virtual
void
printDataToStream
(std::ostream& stream)
const
;
119
120
public
:
121
124
static
DtPdu
* create(
const
DtNetPacket
* initial,
125
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
);
126
129
static
void
addCallback(
DtExerciseConn
* conn,
130
DtMinefieldStatePduCb
cb,
void
* usr);
131
static
void
removeCallback(
DtExerciseConn
* conn,
132
DtMinefieldStatePduCb
cb,
void
* usr);
133
134
protected
:
135
137
virtual
DtPduKind
internalGetPduKind
()
const
;
138
140
virtual
DtNetMinefieldStatePdu
* netPduStruct()
const
;
141
144
DtMinefieldStatePdu
*
self
()
const
;
145
147
virtual
char
* var()
const
;
148
150
virtual
int
perimeterPointRecordOffset(
int
recordIndex)
const
;
151
153
virtual
int
mineTypeRecordOffset(
int
recordIndex)
const
;
154
155
protected
:
156
158
static
const
int
theStaticSize
;
159
160
protected
:
161
163
DtEntityIdentifier
myEntityID
;
164
DtEntityType
myEntityType
;
165
DtTaitBryan
myEulerAngles
;
166
DtVector
myVector
;
167
DtMinefieldPerimeterRecord
myPerimeterRecord
;
168
169
};
170
171
#endif
172
#endif
173
Document ID: Generated on Wed Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)