VR-Forces 4.3.1 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
DtString
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
108
virtual
double
calculateAngleOfFire(
double
distanceToTarget,
109
DtVector
& localFirerPosition,
double
HeightDifference,
double
launchSpeed);
110
115
virtual
void
addDispersion(
DtVector
& detLocation,
116
bool
addHeightDispersion);
117
119
static
void
detonationCallback(
DtTimer
* timer);
120
124
static
DtSimComponent
*
creator
(
const
DtString
& name,
125
DtVrfObject
* owner,
126
DtSimManager
* simManager,
127
DtComponentDescriptor
* desc = 0,
128
DtReaderWriterRegistry
* parentRegistry = 0);
129
135
virtual
DtDetonationInteraction
* createDetonationInteraction(
136
const
DtDetonationDescriptor
& desc,
DtTime
& detTime);
137
140
virtual
DtDetonationDescriptor
* createDetonationDescriptor(
141
DtDetonationInteraction
* detInter,
DtTime
simTime);
142
144
static
void
objectAddedCb(
DtVrfObject
* vrfObject,
void
* usr);
145
150
virtual
void
processObjectAdded(
DtVrfObject
* vrfObject);
151
152
protected
:
153
155
virtual
bool
createPorts
();
156
162
virtual
bool
createPSR
();
163
164
protected
:
165
167
DtIndirectFireActuator
();
168
170
DtIndirectFireActuator
(
const
DtIndirectFireActuator
& orig);
171
173
const
DtIndirectFireActuator
&
operator=
(
174
const
DtIndirectFireActuator
& orig);
175
176
177
protected
:
178
181
187
DtVectorInputPort
*
myTargetPointPort
;
188
194
DtAnalogInputPort
*
myMaxRangePort
;
195
202
DtBooleanInputPort
*
myAlignedDirectlyPort
;
203
205
206
DtReal
myMuzzleSpeed
;
207
DtList
myTimerList
;
208
DtIndirectFireActuatorDescriptor
*
myIndirectFireActuatorDescriptor
;
209
212
DtVrfIndirectFirePSR
*
myIndirectFireProcessState
;
213
};
Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (
www.mak.com
)