VR-Forces 4.1.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
vrfmodel
surfEntPltCtl.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2007 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
8
11
#pragma once
12
13
#include "
vrfobjcore/singleTaskControllerComponent.h
"
14
15
class
DtString
;
16
class
DtSimManager
;
17
class
DtConstrainedAnalogOutputPort
;
18
class
DtBooleanInputPort
;
19
class
DtSurfaceEntityActuator
;
20
class
DtSurfaceEntityStateRepository
;
21
class
DtSurfaceEntityPilotControllerDescriptor
;
22
class
DtTaskMessage
;
23
class
DtSurfaceMovementPSR
;
24
59
60
#include "
vrfmodel/vrfmodelDefines.h
"
61
class
DT_DLL_vrfmodel
DtSurfaceEntityPilotController
:
62
public
DtSingleTaskControllerComponent
63
{
64
65
public
:
66
72
DtSurfaceEntityPilotController
(
const
DtString
& name,
73
DtVrfObject
* owner,
74
DtSimManager
* simManager,
75
DtComponentDescriptor
* desc = 0,
76
DtReaderWriterRegistry
* parentRegistry = 0);
77
81
virtual
~
DtSurfaceEntityPilotController
();
82
85
virtual
DtString
type
()
const
;
86
89
virtual
bool
init
();
90
93
virtual
void
tick
();
94
97
virtual
void
clearTask
();
98
100
virtual
bool
createSurfaceControlPortGroup();
102
virtual
bool
createThrottlePort();
104
virtual
bool
createRudderPort();
105
107
virtual
DtConstrainedAnalogOutputPort
* throttlePort()
const
;
109
virtual
DtConstrainedAnalogOutputPort
* rudderPort()
const
;
110
120
virtual
void
sailTo(
const
DtVector
& destination,
double
speed);
121
132
virtual
void
driftTo(
const
DtVector
& destination,
double
speed);
133
140
virtual
double
calculateControlForTurn(
double
yawAngle);
141
147
virtual
double
calculateControlForThrottle(
double
desiredSpeed);
148
156
virtual
double
calculateControlForThrottle(
double
desiredSpeed,
157
double
distance
);
158
163
virtual
void
emergencyStop();
164
168
static
DtSimComponent
* creator(
const
DtString
& name,
169
DtVrfObject
* owner,
170
DtSimManager
* simManager,
171
DtComponentDescriptor
* desc = 0,
172
DtReaderWriterRegistry
* parentRegistry = 0);
173
174
protected
:
175
177
virtual
bool
createPortGroups
();
178
180
virtual
bool
createPorts
();
181
189
virtual
void
lookupAndCacheProcessSR();
190
194
virtual
bool
postAddComponentsInit
();
195
199
virtual
bool
decideToGiveUpTask
()
const
;
200
201
protected
:
202
204
DtSurfaceEntityPilotController
();
205
207
DtSurfaceEntityPilotController
(
208
const
DtSurfaceEntityPilotController
& orig);
209
211
const
DtSurfaceEntityPilotController
&
operator=
(
212
const
DtSurfaceEntityPilotController
& orig);
213
214
215
protected
:
216
217
DtSurfaceEntityStateRepository
*
mySurfaceEntityState
;
218
DtSurfaceEntityPilotControllerDescriptor
*
myDescriptor
;
219
220
223
228
DtBooleanInputPort
*
mySmallVelocityClampedInputPort
;
229
232
DtOutputPortGroup
*
mySurfaceControlPortGroup
;
233
239
DtConstrainedAnalogOutputPort
*
myThrottlePort
;
240
246
DtConstrainedAnalogOutputPort
*
myRudderPort
;
247
249
250
double
myLastDistanceSquared
;
251
double
myDistanceSquared
;
252
258
DtSurfaceMovementPSR
*
myProcessState
;
259
};
Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)