VR-Forces 4.2 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
vrfmodel
surfEntAct.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2013 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
8
10
#pragma once
11
12
#include "
vrfobjcore/actCmpnt.h
"
13
#include "
vrfobjcore/vrfKinState.h
"
14
15
class
DtString
;
16
class
DtSimManager
;
17
class
DtSurfaceEntityStateRepository
;
18
class
DtSurfaceEntityActuatorDescriptor
;
19
class
DtConstrainedAnalogInputPort
;
20
class
DtBooleanOutputPort
;
21
class
DtSurfaceMovementPSR
;
22
class
DtUpdateRepositoryOutputPortGroup
;
23
45
#include "
vrfmodel/vrfmodelDefines.h
"
46
class
DT_DLL_vrfmodel
DtSurfaceEntityActuator
:
public
DtActuatorComponent
47
{
48
49
public
:
50
54
DtSurfaceEntityActuator
(
const
DtString
& name,
55
DtVrfObject
* owner,
56
DtSimManager
* simManager,
57
DtComponentDescriptor
* desc = 0,
58
DtReaderWriterRegistry
* parentRegistry = 0);
59
64
virtual
~
DtSurfaceEntityActuator
();
65
68
virtual
bool
init
();
69
72
virtual
DtString
type
()
const
;
73
76
virtual
bool
postAddComponentsInit
();
77
80
virtual
void
initProcessSR();
81
109
virtual
void
tick
();
110
116
virtual
double
calculateRudderYawAcceleration();
117
122
virtual
double
calculateResistanceYawAcceleration();
123
131
virtual
const
DtVector
calculateThrottleAcceleration();
132
137
virtual
const
DtVector
calculateDragAcceleration();
138
144
virtual
bool
clampSmallVelocityToZero();
145
148
virtual
double
stoppingSpeed();
149
156
virtual
void
useFuel(
double
fuelUsed);
157
163
virtual
double
fuelLeft()
const
;
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
178
virtual
bool
createPortGroups
();
179
182
virtual
bool
createPorts
();
183
188
virtual
void
integratePosition(
double
dT);
189
196
virtual
void
integrateOrientation(
double
dT);
197
201
void
constrainYawAcceleration(
double
& yawAcceleration,
double
yawRate,
202
double
maxYawRate,
double
dT);
203
207
virtual
void
updateRepository();
208
209
DtSurfaceEntityStateRepository
* surfaceEntityState (
void
)
const
;
210
216
virtual
bool
createPSR();
217
218
protected
:
219
221
DtSurfaceEntityActuator
();
222
224
DtSurfaceEntityActuator
225
(
const
DtSurfaceEntityActuator
& orig);
226
228
const
DtSurfaceEntityActuator
&
operator
=
229
(
const
DtSurfaceEntityActuator
& orig);
230
231
232
protected
:
233
234
DtSurfaceEntityStateRepository
*
mySurfaceEntityState
;
235
DtSurfaceEntityActuatorDescriptor
*
mySurfaceEntityActuatorDescriptor
;
236
239
242
DtInputPortGroup
*
mySurfaceControlPortGroup
;
243
249
DtConstrainedAnalogInputPort
*
myThrottlePort
;
250
256
DtConstrainedAnalogInputPort
*
myRudderPort
;
257
261
DtBooleanOutputPort
*
mySmallVelocityClampedPort
;
262
264
265
DtDcm
myBodyToLocalMatrix
;
266
DtDcm
myLocalToBodyMatrix
;
267
268
DtVector
myLocalPosition
;
269
DtVector
myRelativeVelocity
;
270
DtVector
myRelativeAcceleration
;
271
DtTaitBryan
myOrientation
;
272
DtVector
myBodyRotationRates
;
273
DtVector
myBodyRotationalAcceleration
;
274
277
DtSurfaceMovementPSR
*
myProcessState
;
278
279
bool
myOutOfFuelWarningPrinted
;
280
283
DtUpdateRepositoryOutputPortGroup
*
myUpdateRepositoryOutputPortGroup
;
284
};
285
Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)