67 virtual const char*
type()
const;
74 virtual void initProcessSR();
100 virtual void decrementFuelResource(
double fuelUsed);
109 virtual double fuelLeft()
const;
131 virtual void updateHeading(
const double dT,
double& newHeading);
146 virtual void updateVelocity(
const double dT,
const double newHeading,
147 const double newVerticalSpeed,
148 double& acceleratingDT,
double& newSpeed,
149 DtVector& newVelocity,
bool& maxSpeedAchieved);
155 virtual double updateVerticalSpeed(
const double dT);
175 virtual void updateOrientationAndPosition(
const double dT,
176 const double acceleratingDT,
const double newHeading,
177 DtVector& newVelocity,
const double newSpeed,
178 DtDcm& newBodyToLocalMatrix,
DtVector& newPosition);
186 virtual void adjustAttitude(
const double newSpeed,
const DtVector& position,
187 const double yawRate,
188 double &roll,
double &pitch,
double &altitudeAdj);
198 const double altitudeAdjustment);
207 virtual bool getTerrainSurfaces(
const DtVector& databaseLocation,
210 bool* dataAvailable = 0,
bool overrideBlockingAssert =
false);
219 virtual bool isShipAground(
const DtVector& localPosition,
220 const DtDcm& bodyToLocalMatrix,
225 virtual void sinkingAttitude(
const DtVector& newPosition,
226 DtDcm& newBodyToLocalMatrix);
232 virtual void setOrientationToBottom(
const DtVector& newPosition,
233 const double newHeading,
const DtVector& groundNormal,
234 DtDcm& newBodyToLocalMatrix);
246 virtual void computeNewRates(
247 const double turnRate,
const double newSpeed,
const double newHeading,
248 const double acceleration,
const DtDcm& bodyToLocalMatrix,
250 double & limitedAcceleration);
256 virtual void sinkingRates(
DtVector& newPosition,
265 virtual void unpoweredDriftRates(
const double newSpeed,
266 const double newHeading,
271 double driftDecelerationMagnitude()
const;
278 virtual void updateRepository(
282 const DtTaitBryan& newOrientation,
283 const DtVector& newBodyRotationRates);
287 virtual double computeFuelUsed(
const double dT);
296 virtual bool createPSR();
double mySinkingPitchRate
Parameters that define how this ship will sink.
Definition: surfaceEntitySimpleActuator.h:376
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
virtual bool postAddComponentsInit()
Called after all components have been created, initialized and added to the component manager...
Definition: simComponent.h:146
Definition: surfaceEntityParameters.h:24
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
DtInputPortGroup * mySurfaceControlPortGroup
Input Port Group Name: surface-control Input Port Group Description:
Definition: surfaceEntitySimpleActuator.h:323
double myWaterHeight
Definition: surfaceEntitySimpleActuator.h:365
Definition: surfaceMovementPSR.h:58
virtual bool init()
Overridden to cache a pointer to the entity's radio in this class.
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
Definition: readerWriterRegistry.h:39
const DtSurfaceEntityParameters * myParameters
Definition: surfaceEntitySimpleActuator.h:315
Definition: surface.h:179
End User Description: DtActuator is the base class for all actuator model components.
Definition: actuatorComponent.h:48
DtAnalogInputPort * myClampSpeedPort
Clamp speed is the speed that the controller is trying to accelerate (or decelerate) to; if dT is une...
Definition: surfaceEntitySimpleActuator.h:335
DtSurfaceMovementPSR * myProcessState
Container for state data associated with this component.
Definition: surfaceEntitySimpleActuator.h:352
DtAnalogInputPort * myTurnRatePort
Turn rate in radians/sec, with positive meaning a turn to the right.
Definition: surfaceEntitySimpleActuator.h:340
Definition: coordSystem.h:54
virtual void tick()
This gives the thread of control to the component.
This repository holds all information that is common to all the forms of local surface entities withi...
Definition: surfaceEntityStateRepository.h:29
double mySinkingRollRate
Definition: surfaceEntitySimpleActuator.h:377
DtAnalogInputPort * myAccelerationPort
Acceleration can be positive or negative.
Definition: surfaceEntitySimpleActuator.h:330
virtual bool createPorts()
Called by init.
Contains class declaration for DtSurfaceEntityActuatorDescriptor, descriptor for the DtSurfaceEntityA...
Definition: surfaceEntityActuatorDescriptor.h:26
Definition: surface.h:190
DtUpdateRepositoryOutputPortGroup * myUpdateRepositoryOutputPortGroup
Port group used to set what values should be set into the VRF state repository.
Definition: surfaceEntitySimpleActuator.h:348
virtual bool createPortGroups()
Called by init.
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
bool myAgroundAndDestroyed
Remembered after this state is first entered, to avoid recomputation in future ticks.
Definition: surfaceEntitySimpleActuator.h:371
DtSurfaceEntityStateRepository * mySurfaceEntityState
Cache some pointers.
Definition: surfaceEntitySimpleActuator.h:314
double mySinkingStartRate
Definition: surfaceEntitySimpleActuator.h:378
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:103
DtAnalogInputPort * myFinalHeadingPort
Final heading that the entity is clamped to, if dT is too large.
Definition: surfaceEntitySimpleActuator.h:342
double myMaxRollRate
Remember a reasonable value for maximum roll rate for this entity, based on mass. ...
Definition: surfaceEntitySimpleActuator.h:359
DtSurfaceEntityActuatorDescriptor * myDescriptor
Definition: surfaceEntitySimpleActuator.h:316
DtMedium
Definition: surface.h:185
bool myOutOfFuelWarningPrinted
Remembers if the warning has been printed, so it's only printed once.
Definition: surfaceEntitySimpleActuator.h:355
DtUpdateRepositoryOutputPortGroup is a data port group of a data consumer that contains methods and p...
Definition: updateRepositoryOutputPortGroup.h:28
Provides a simple, kinematics-based model for surface vessels.
Definition: surfaceEntitySimpleActuator.h:41
virtual const char * type() const =0
Returns a string identifies the class type of component.
bool myIsAground
Definition: surfaceEntitySimpleActuator.h:366
double mySeaFloorHeight
Computed at the beginning of every tick; remembered for use in the tick:
Definition: surfaceEntitySimpleActuator.h:364