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