VR-Link API Documentation for DIS
Home
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
include
vl
minefieldStatePdu.h
Go to the documentation of this file.
1
/*********************************************************************
2
** Copyright (c) 1992-2013 VT MAK
3
** All rights reserved.
4
*********************************************************************/
5
6
9
10
#pragma once
11
12
#if DtDIS
13
14
#include <
vlutil/vlMachineTypes.h
>
15
#include "
hostStructs.h
"
16
#include "
pdu.h
"
17
#include <
matrix/vlMath.h
>
18
#include "
exerciseConn.h
"
19
20
#include "
packets/mineStateP.h
"
21
22
#include "
minefieldPerimeterRecord.h
"
23
24
25
class
DT_DLL_VL
DtMinefieldStatePdu
;
26
28
typedef
void (*
DtMinefieldStatePduCb
)(
DtMinefieldStatePdu
* pdu,
void
* usr);
29
34
35
class
DT_DLL_VL
DtMinefieldStatePdu
:
public
DtStateMsg
36
{
37
38
public
:
39
41
DtMinefieldStatePdu
(
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
);
42
DtMinefieldStatePdu
(
const
DtNetMinefieldStatePdu
* initial,
43
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
,
DtPduFactory
* pduFactory = 0);
44
DtMinefieldStatePdu
(
const
DtMinefieldStatePdu
& orig);
45
47
virtual
~
DtMinefieldStatePdu
();
48
50
DtMinefieldStatePdu
&
operator=
(
const
DtMinefieldStatePdu
& orig);
51
53
virtual
void
setMinefieldID(
const
DtEntityIdentifier
&
id
);
54
virtual
const
DtEntityIdentifier
& minefieldID()
const
;
55
57
virtual
void
setSequenceNumber(
DtU16
field);
58
virtual
DtU16
sequenceNumber()
const
;
59
61
virtual
void
setForceID(
DtForceType
force);
62
virtual
DtForceType
forceID()
const
;
63
65
virtual
bool
setNumPerimeterPoints(
DtU8
num);
66
virtual
DtU8
numPerimeterPoints()
const
;
67
69
virtual
void
setMinefieldType(
const
DtEntityType
& type);
70
virtual
const
DtEntityType
& minefieldType()
const
;
71
73
virtual
bool
setNumMineTypes(
DtU16
num);
74
virtual
DtU16
numMineTypes()
const
;
75
77
virtual
void
setLocation(
const
DtVector
& coords);
78
virtual
const
DtVector
& location()
const
;
79
81
virtual
void
setOrientation(
const
DtTaitBryan
& orientation);
82
virtual
const
DtTaitBryan
& orientation()
const
;
83
85
virtual
void
setAppearance(
DtU16
app);
86
virtual
DtU16
appearance()
const
;
87
89
virtual
void
setAppearanceAttribute(
90
DtAppearAttribute
attr,
DtAppearAttrVal
val);
91
virtual
DtAppearAttrVal
appearanceAttribute(
92
DtAppearAttribute
attr)
const
;
93
96
virtual
void
setMinefieldProtocolMode(
DtMinefieldProtocol
mode);
97
virtual
DtMinefieldProtocol
minefieldProtocolMode()
const
;
98
101
virtual
bool
setPerimeterPoint(
int
index,
102
const
DtMinefieldPerimeterRecord
& init);
103
virtual
bool
getPerimeterPoint(
int
index,
104
DtMinefieldPerimeterRecord
& record)
const
;
105
108
virtual
bool
setMineType(
int
index,
109
const
DtEntityType
& init);
110
virtual
bool
getMineType(
int
index,
111
DtEntityType
& record)
const
;
112
114
virtual
void
printData
()
const
;
115
117
virtual
void
printDataToStream
(std::ostream& stream)
const
;
118
119
public
:
120
123
static
DtPdu
* create(
const
DtNetPacket
* initial,
124
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
,
DtPduFactory
* pduFactory = 0);
125
128
static
void
addCallback(
DtExerciseConn
* conn,
129
DtMinefieldStatePduCb
cb,
void
* usr);
130
static
void
removeCallback(
DtExerciseConn
* conn,
131
DtMinefieldStatePduCb
cb,
void
* usr);
132
133
protected
:
134
136
virtual
DtPduKind
internalGetPduKind
()
const
;
137
139
virtual
DtNetMinefieldStatePdu
* netPduStruct()
const
;
140
143
DtMinefieldStatePdu
*
self
()
const
;
144
146
virtual
char
* var()
const
;
147
149
virtual
int
perimeterPointRecordOffset(
int
recordIndex)
const
;
150
152
virtual
int
mineTypeRecordOffset(
int
recordIndex)
const
;
153
154
protected
:
155
157
static
const
int
theStaticSize
;
158
159
protected
:
160
162
DtEntityIdentifier
myEntityID
;
163
DtEntityType
myEntityType
;
164
DtTaitBryan
myEulerAngles
;
165
DtVector
myVector
;
166
DtMinefieldPerimeterRecord
myPerimeterRecord
;
167
168
};
169
170
#endif
Document ID: Generated on Wed Oct 23 22:25:48 EDT 2013 from SVN revision 132765
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)