VR-Forces 4.5 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
include
vrfmodel
indirectFireActuator.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2012 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
8
10
#pragma once
11
#include "
vrfmodel/weaponActuator.h
"
12
#include <vl/hostStructs.h>
13
14
class
DtSimManager
;
15
class
DtIndirectFireActuatorDescriptor
;
16
class
DtVrfIndirectFirePSR
;
17
class
DtDetonationDescriptor
;
18
class
DtVrfIndirectFirePSR
;
19
20
class
DtAnalogInputPort
;
21
class
DtVectorInputPort
;
22
class
DtBooleanInputPort
;
23
37
#include "
vrfmodel/vrfmodelDefines.h
"
38
class
DT_DLL_vrfmodel
DtIndirectFireActuator
:
public
DtWeaponActuator
39
{
40
41
public
:
42
45
DtIndirectFireActuator
(
const
DtString
& name,
46
DtVrfObject
* owner,
47
DtSimManager
* simManager,
48
DtComponentDescriptor
* desc = 0,
49
DtReaderWriterRegistry
* parentRegistry = 0);
50
52
virtual
~
DtIndirectFireActuator
();
53
56
virtual
void
preFirstTickInit
();
57
64
virtual
void
initPendingDetonations();
65
68
virtual
const
char
*
type
()
const
;
69
77
virtual
DtFireInteraction *
createFireInteraction
();
78
86
virtual
DtDetonationInteraction
* createDetonationInteraction(
DtTime
&
87
detTime);
88
92
virtual
void
scheduleDetonation(
DtDetonationInteraction
* detInter,
93
DtTime
detTime);
94
98
virtual
void
fireTheWeapon
();
99
100
104
virtual
DtVrfObject
* createMissileObject();
105
111
virtual
double
determineMuzzleSpeed(
double
range);
112
115
virtual
double
calculateAngleOfFire(
double
distanceToTarget,
116
DtVector
& localFirerPosition,
double
HeightDifference,
double
launchSpeed);
117
122
virtual
void
addDispersion(
DtVector
& detLocation,
123
bool
addHeightDispersion);
124
126
static
void
detonationCallback(
DtTimer
* timer);
127
131
static
DtSimComponent
*
creator
(
const
DtString
& name,
132
DtVrfObject
* owner,
133
DtSimManager
* simManager,
134
DtComponentDescriptor
* desc = 0,
135
DtReaderWriterRegistry
* parentRegistry = 0);
136
142
virtual
DtDetonationInteraction
* createDetonationInteraction(
143
const
DtDetonationDescriptor
& desc,
DtTime
& detTime);
144
147
virtual
DtDetonationDescriptor
* createDetonationDescriptor(
148
DtDetonationInteraction
* detInter,
DtTime
simTime);
149
151
static
void
objectAddedCb(
DtVrfObject
* vrfObject,
void
* usr);
152
157
virtual
void
processObjectAdded(
DtVrfObject
* vrfObject);
158
159
protected
:
160
162
virtual
bool
createPorts
();
163
169
virtual
bool
createPSR
();
170
171
protected
:
172
174
DtIndirectFireActuator
();
175
177
DtIndirectFireActuator
(
const
DtIndirectFireActuator
& orig);
178
180
const
DtIndirectFireActuator
&
operator=
(
181
const
DtIndirectFireActuator
& orig);
182
183
184
protected
:
185
188
194
DtVectorInputPort
*
myTargetPointPort
;
195
201
DtAnalogInputPort
*
myMaxRangePort
;
202
209
DtBooleanInputPort
*
myAlignedDirectlyPort
;
210
212
213
DtReal
myMuzzleSpeed
;
214
DtList
myTimerList
;
215
DtIndirectFireActuatorDescriptor
*
myIndirectFireActuatorDescriptor
;
216
219
DtVrfIndirectFirePSR
*
myIndirectFireProcessState
;
220
};
Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (
www.mak.com
)