VR-Forces 4.7 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
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
class
DtVectorOutputPort
;
24
38
#include "
vrfmodel/vrfmodelDefines.h
"
39
class
DT_DLL_vrfmodel
DtIndirectFireActuator
:
public
DtWeaponActuator
40
{
41
42
public
:
43
46
DtIndirectFireActuator
(
const
DtString
& name,
47
DtVrfObject
* owner,
48
DtSimManager
* simManager,
49
DtComponentDescriptor
* desc = 0,
50
DtReaderWriterRegistry
* parentRegistry = 0);
51
53
virtual
~
DtIndirectFireActuator
();
54
56
virtual
bool
postAddComponentsInit
();
57
60
virtual
void
preFirstTickInit
();
61
68
virtual
void
initPendingDetonations();
69
72
virtual
const
char
*
type
()
const
;
73
81
virtual
DtFireInteraction *
createFireInteraction
();
82
90
virtual
DtDetonationInteraction
* createDetonationInteraction(
DtTime
&
91
detTime);
92
96
virtual
void
scheduleDetonation(
DtDetonationInteraction
* detInter,
97
DtTime
detTime);
98
102
virtual
void
fireTheWeapon
();
103
104
108
virtual
DtVrfObject
* createMissileObject();
109
115
virtual
double
determineMuzzleSpeed(
double
range);
116
121
virtual
void
addDispersion(
DtVector
& detLocation,
122
bool
addHeightDispersion);
123
125
static
void
detonationCallback(
DtTimer
* timer);
126
130
static
DtSimComponent
*
creator
(
const
DtString
& name,
131
DtVrfObject
* owner,
132
DtSimManager
* simManager,
133
DtComponentDescriptor
* desc = 0,
134
DtReaderWriterRegistry
* parentRegistry = 0);
135
141
virtual
DtDetonationInteraction
* createDetonationInteraction(
142
const
DtDetonationDescriptor
& desc,
DtTime
& detTime);
143
146
virtual
DtDetonationDescriptor
* createDetonationDescriptor(
147
DtDetonationInteraction
* detInter,
DtTime
simTime);
148
150
static
void
objectAddedCb(
DtVrfObject
* vrfObject,
void
* usr);
151
156
virtual
void
processObjectAdded(
DtVrfObject
* vrfObject);
157
158
protected
:
159
161
virtual
bool
createPorts
();
162
168
virtual
bool
createPSR
();
169
170
protected
:
171
173
DtIndirectFireActuator
();
174
176
DtIndirectFireActuator
(
const
DtIndirectFireActuator
& orig);
177
179
const
DtIndirectFireActuator
&
operator=
(
180
const
DtIndirectFireActuator
& orig);
181
182
183
protected
:
184
187
193
DtVectorInputPort
*
myTargetPointPort
;
194
200
DtAnalogInputPort
*
myMuzzleSpeedPort
;
201
207
DtAnalogInputPort
*
myAngleOfFirePort
;
208
215
DtBooleanInputPort
*
myAlignedDirectlyPort
;
216
222
DtVectorOutputPort
*
myMuzzleOffsetPort
;
223
225
226
DtReal
myMuzzleSpeed
;
227
DtList
myTimerList
;
228
DtIndirectFireActuatorDescriptor
*
myIndirectFireActuatorDescriptor
;
229
232
DtVrfIndirectFirePSR
*
myIndirectFireProcessState
;
233
};
Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (
www.mak.com
)