VR-Link API Documentation for DIS
Home
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
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 Mon Feb 6 18:36:34 EST 2017 from SVN revision 173107
Copyright © 2005-2016 VT MÄK. All Rights Reserved (
www.mak.com
)