VR-Link API Documentation for HLA Evolved
Home
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
include
vl
firePdu.h
Go to the documentation of this file.
1
/*********************************************************************
2
** Copyright (c) 1992-2010 VT MAK
3
** All rights reserved.
4
*********************************************************************/
5
6
#ifndef DtFirePdu_H_
7
#define DtFirePdu_H_
8
11
12
#if DtDIS
13
14
#include "
hostStructs.h
"
15
#include "
eventId.h
"
16
#include "
interaction.h
"
17
#include "
packets/fireP.h
"
18
#include <
matrix/vlMath.h
>
19
20
21
22
class
DT_DLL_VL
DtExerciseConn
;
23
class
DT_DLL_VL
DtFirePdu;
24
26
typedef
DtFirePdu
DtFireInteraction
;
27
28
typedef
void (*
DtFireInteractionCb
)(
DtFireInteraction
*inter,
void
*usr);
29
35
class
DT_DLL_VL
DtFirePdu :
public
DtInteraction
36
{
37
public
:
38
39
enum
{ PduStaticSize=96 };
40
41
public
:
42
43
DtFirePdu(
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
);
44
45
DtFirePdu(
const
DtNetFirePdu
*initial,
46
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
);
47
48
DtFirePdu(
const
DtEntityIdentifier
&attacker,
49
const
DtEntityIdentifier
&target,
50
const
DtEntityIdentifier
&munition,
51
const
DtEventID
&eventId,
52
const
DtVector
& location,
53
const
DtBurstDescriptor
&burst,
54
const
DtVector
& linVelocity,
55
const
double
range,
56
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
);
57
58
virtual
const
DtObjectId
&attackerId()
const
;
59
virtual
void
setAttackerId(
const
DtObjectId
&
id
);
60
61
virtual
const
DtObjectId
&targetId()
const
;
62
virtual
void
setTargetId(
const
DtObjectId
&
id
);
63
64
virtual
const
DtObjectId
&munitionId()
const
;
65
virtual
void
setMunitionId(
const
DtObjectId
&
id
);
66
67
virtual
const
DtEventID
&eventId()
const
;
68
virtual
void
setEventId(
const
DtEventID
&
id
);
69
70
virtual
unsigned
long
fireMissionIndex()
const
;
71
virtual
void
setFireMissionIndex(
unsigned
long
i);
72
73
virtual
const
DtVector
& location()
const
;
74
virtual
void
setLocation(
const
DtVector
& location);
75
76
virtual
const
DtVector
& velocity()
const
;
77
virtual
void
setVelocity(
const
DtVector
& velocity);
78
79
virtual
double
range()
const
;
80
virtual
void
setRange(
double
range);
81
82
virtual
DtDetonatorFuze
fuseType()
const
;
83
virtual
void
setFuseType(
DtDetonatorFuze
f);
84
85
virtual
const
DtEntityType
&munitionType()
const
;
86
virtual
void
setMunitionType(
const
DtEntityType
&t);
87
88
virtual
int
quantity()
const
;
89
virtual
void
setQuantity(
int
q);
90
91
virtual
int
rate()
const
;
92
virtual
void
setRate(
int
r);
93
94
virtual
DtWarheadType
warheadType()
const
;
95
virtual
void
setWarheadType(
DtWarheadType
t);
96
98
virtual
const
DtBurstDescriptor
&burst()
const
;
99
virtual
void
setBurst(
const
DtBurstDescriptor
&burst);
100
101
virtual
void
printData
()
const
;
102
virtual
void
printDataToStream
(std::ostream& stream)
const
;
103
virtual
void
printDataToString
(
DtString
& str)
const
;
104
105
public
:
106
107
static
DtPdu
*create(
const
DtNetPacket
*initial,
108
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
);
109
110
static
void
addCallback
(
DtExerciseConn
*conn,
111
DtFireInteractionCb
cb,
void
*usr);
112
static
void
removeCallback
(
DtExerciseConn
*conn,
113
DtFireInteractionCb
cb,
void
*usr);
114
115
protected
:
116
117
DtPduKind
internalGetPduKind()
const
{
return
DtFirePduKind
;}
118
DtObjectId
att;
119
DtObjectId
tar;
120
DtObjectId
mun;
121
DtEventID
event;
122
DtVector
loc;
123
DtVector
vel;
124
DtBurstDescriptor
theBurst;
125
DtEntityType
myMunType;
126
};
127
128
#endif
129
#endif
130
131
132
133
134
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
)