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
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
DtVector32
& 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
DtVector32
& velocity()
const
;
76
virtual
void
setVelocity(
const
DtVector32
& 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
DtVector32
vel
;
123
DtBurstDescriptor
theBurst
;
124
DtEntityType
myMunType
;
125
};
126
127
#endif
Document ID: Generated on Mon Jun 22 21:18:40 EDT 2020 from SVN revision 213785
Copyright © 2005-2018 MAK Technologies. All Rights Reserved (
www.mak.com
)