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
parachuteController.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2012 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
8
9
#pragma once
10
11
#include "
vrfobjcore/singleTaskControllerComponent.h
"
12
#include <matrix/vlVector.h>
13
14
class
DtString
;
15
class
DtSimManager
;
16
class
DtVectorOutputPort
;
17
class
DtParachuteControllerPSR
;
18
class
DtBooleanOutputPort
;
19
class
DtConstrainedAnalogOutputPort
;
20
class
DtOutputPortGroup
;
21
class
DtAnalogInputPort
;
22
class
DtObjectIdInputPort
;
23
class
DtBooleanInputPort
;
24
class
DtParachuteControllerDescriptor
;
25
33
#include "
vrfmodel/vrfmodelDefines.h
"
34
class
DT_DLL_vrfmodel
DtParachuteController
:
public
DtSingleTaskControllerComponent
35
{
36
public
:
37
40
DtParachuteController
(
const
DtString
& name,
41
DtVrfObject
* owner,
42
DtSimManager
* simManager,
43
DtComponentDescriptor
* desc = 0,
44
DtReaderWriterRegistry
* parentRegistry = 0);
45
47
virtual
~
DtParachuteController
();
48
51
virtual
bool
init
();
52
54
virtual
void
tick
();
55
58
virtual
const
char
*
type
()
const
;
59
63
static
DtSimComponent
* creator(
const
DtString
& name,
DtVrfObject
* owner,
64
DtSimManager
* simManager,
DtComponentDescriptor
* desc = 0,
65
DtReaderWriterRegistry
* parentRegistry = 0);
66
67
protected
:
68
69
virtual
bool
createPortGroups
();
70
71
virtual
bool
createPorts
();
72
73
virtual
bool
createPSR();
74
76
77
static
void
parachuteToLocationTaskCallback(
DtSimMessage
* msg,
void
* usrData);
78
virtual
void
processParachuteTolocationTask(
DtSimMessage
* msg);
80
81
static
void
setDeployAltitudeCallback(
DtSimMessage
* msg,
void
* usrData);
82
virtual
void
processSetDeployAltitude(
DtSimMessage
* msg);
83
85
virtual
bool
isFallingApplicable()
const
;
86
89
virtual
double
findDesiredHeading(
const
DtVector
& localDestination);
90
92
virtual
void
calculateSteering(
double
currentHeading,
const
DtVector
& targetLocation,
93
double
& leftToggle,
double
& rightToggle);
94
98
virtual
DtVector
projectLandingLocation(
DtVrfObject
* entity);
99
101
virtual
bool
deployParachute(
DtVrfObject
* targetObject)
const
;
102
104
virtual
bool
taskVisualizationsActive
()
const
;
105
107
virtual
void
updateTaskVisualizations
();
108
109
void
setDeployAltitude(
double
orderedAltitude,
bool
isAgl);
110
112
virtual
void
clearTask
();
113
114
private
:
116
DtParachuteController
();
117
119
DtParachuteController
(
const
DtParachuteController
&
120
orig);
121
123
const
DtParachuteController
&
operator=
(
const
124
DtParachuteController
& orig);
125
126
protected
:
129
DtParachuteControllerPSR
*
myProcessState
;
130
132
DtParachuteControllerDescriptor
*
myDescriptor
;
133
136
DtBooleanOutputPort
*
myDeployedOutputPort
;
137
DtConstrainedAnalogOutputPort
*
myLeftToggleOutputPort
;
138
DtConstrainedAnalogOutputPort
*
myRightToggleOutputPort
;
139
140
DtAnalogInputPort
*
myMaxTurnRateInputPort
;
141
DtBooleanInputPort
*
myFallingInputPort
;
142
143
DtOutputPortGroup
*
myParachuteControlOutputPortGroup
;
144
145
DtObjectIdInputPort
*
myFollowTargetInputPort
;
147
};
148
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
)