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
detonationController.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2014 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
8
11
12
#pragma once
13
14
#include "
vrfobjcore/singleTaskControllerComponent.h
"
15
#include "
vrfutil/simClock.h
"
16
#include <vl/hostStructs.h>
17
#include "
vrfutil/simMunition.h
"
18
#include <vlpi/disEnums.h>
19
20
class
DtBooleanOutputPort
;
21
class
DtIntegerOutputPort
;
22
class
DtDetonationControllerDescriptor
;
23
class
DtWarheadDetonationActuatorPSR
;
24
class
DtSensorContactListMultiInputPort
;
25
class
DtObjectTypesListOutputPort
;
26
class
DtSimManager
;
27
class
DtSimMessage
;
28
class
DtRwSensorContactInfo
;
29
36
#include "
vrfmodel/vrfmodelDefines.h
"
37
class
DT_DLL_vrfmodel
DtDetonationController
:
public
DtSingleTaskControllerComponent
38
{
39
40
public
:
41
44
DtDetonationController
(
const
DtString
& name,
45
DtVrfObject
* owner,
46
DtSimManager
* simManager,
47
DtComponentDescriptor
* desc = 0,
48
DtReaderWriterRegistry
* parentRegistry = 0);
49
51
virtual
~
DtDetonationController
();
52
56
virtual
bool
postAddComponentsInit
();
57
60
virtual
const
char
*
type
()
const
;
61
64
virtual
bool
init
();
65
73
virtual
void
preFirstTickInit
();
74
76
virtual
void
tick
();
77
80
virtual
bool
createTriggerPort();
81
virtual
DtBooleanOutputPort
* triggerPort()
const
;
82
85
virtual
bool
createArmedPort();
86
virtual
DtBooleanOutputPort
* armedPort()
const
;
87
88
virtual
bool
createQuantityOutputPort();
89
virtual
DtIntegerOutputPort
* quantityOutputPort()
const
;
90
91
virtual
void
setDetonationTime(
DtTime
detTime);
92
virtual
DtTime
detonationTime()
const
;
93
97
virtual
void
detonate();
98
101
virtual
void
beginSensing();
102
105
virtual
bool
tripped(
const
DtRwSensorContactInfo
* potentialVictim);
106
108
virtual
bool
setMunitionToDetonate(
DtSimMunition
& munition );
109
113
static
void
setDetonationCallback(
DtSimMessage
* msg,
void
* usrData);
114
115
virtual
void
processSetDetonation(
DtSimMessage
* msg);
116
118
static
void
setArmedCallback(
DtSimMessage
* msg,
void
* usr);
119
120
virtual
void
processSetArmed(
DtSimMessage
* msg);
121
122
static
void
setRestoreCallback(
DtSimMessage
* msg,
void
* usrData);
123
124
virtual
void
processSetRestore(
DtSimMessage
* msg);
125
127
virtual
DtDetonatorFuze fuseStringToEnum(
const
DtString
& fuseString);
128
130
virtual
DtString
fuseStringToEnum(DtDetonatorFuze fuse);
131
135
static
DtSimComponent
* creator(
const
DtString
& name,
136
DtVrfObject
* owner,
137
DtSimManager
* simManager,
138
DtComponentDescriptor
* desc = 0,
139
DtReaderWriterRegistry
* parentRegistry = 0);
140
141
protected
:
142
144
virtual
bool
createPorts
();
145
146
virtual
bool
createTypesToDetectPort();
147
155
virtual
void
lookupAndCacheProcessSR();
156
158
virtual
void
registerRadioMessageCallbacks();
159
160
protected
:
162
DtDetonationController
();
163
165
DtDetonationController
(
const
DtDetonationController
& orig);
166
168
const
DtDetonationController
&
operator=
(
const
DtDetonationController
&
169
orig);
170
171
protected
:
172
174
176
183
DtSensorContactListMultiInputPort
*
myDetectedObjectsInputPort
;
184
191
DtObjectTypesListOutputPort
*
myTypesToDetectOutputPort
;
192
198
DtBooleanOutputPort
*
myTriggerPort
;
199
205
DtBooleanOutputPort
*
myArmedPort
;
206
213
DtIntegerOutputPort
*
myQuantityOutputPort
;
214
216
218
DtSimMunition
myCurrentMunition
;
219
DtDetonatorFuze
myCurrentFuze
;
220
DtTime
myDetonationTime
;
221
bool
myAmArmed
;
222
223
double
myDetonationProximity
;
224
230
DtWarheadDetonationActuatorPSR
*
myProcessState
;
231
232
const
DtDetonationControllerDescriptor
*
myDetonationDescriptor
;
233
};
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
)