52 virtual bool init()
override;
56 virtual const char*
type()
const override;
75 virtual void tick()
override;
89 virtual void adjustAttitude(
const double newSpeed,
const DtVector& position,
const double yawRate,
double& roll,
90 double& pitch,
double& altitude)
override;
106 virtual double altitudeFromDepth(
double depth,
double surfaceAltitude);
109 return altitudeFromDepth(altitude, surfaceAltitude);
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
Provides a simple actuator model for surface vessels.
Definition: subSurfaceEntitySimpleActuator.h:31
virtual bool createPorts() override
Creates myAccelerationPort, myClampSpeedPort, myTurnRadiusPort, and myFinalHeadingPort and adds them ...
virtual double updateVerticalSpeed(const double dT)
Update the vertical speed. This is primarily for derived subsurface entities; for the surface entitie...
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
Definition: readerWriterRegistry.h:39
virtual void adjustAttitude(const double newSpeed, const DtVector &position, const double yawRate, double &roll, double &pitch, double &altitudeAdj)
Adjusts the attitude of the entity for improved appearance. Makes the entity roll in turns...
virtual double depthFromAltitude(double altitude, double surfaceAltitude)
Definition: subSurfaceEntitySimpleActuator.h:107
static DtSimComponent * creator(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
double myAltitudeRate
The negative of depthRate on the input port, or 0 if the port isn't active.
Definition: subSurfaceEntitySimpleActuator.h:145
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:96
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:89
DtAnalogInputPort * myClampDepthPort
Final desired depth that entity is trying to change to. This prevents overshoot if dT is unexpectedly...
Definition: subSurfaceEntitySimpleActuator.h:137
double myDepth
Computed and cached within a tick, to avoid recomputation.
Definition: subSurfaceEntitySimpleActuator.h:141
virtual void tick() override
Calculates new kinematic state.
Provides a simple, kinematics-based model for surface vessels.
Definition: surfaceEntitySimpleActuator.h:42
virtual bool init() override
Calls down to the base class, null checks entity(), calls createPSR(), and then caches the entity's s...
A locally simulated VRF object.
Definition: localObject.h:98
virtual const char * type() const override
Returns a string identifies the class type of component. Type values are defined in compTypes...
DtAnalogInputPort * myDepthRatePort
Desired depth change rate, in m/s. Note that increasing depth is decreasing altitude.
Definition: subSurfaceEntitySimpleActuator.h:133