13 #include <vlpi/disEnums.h>
16 #include <matrix/vlVector.h>
65 virtual const char*
type()
const;
82 virtual double maxSpeedSoilFactor()
const;
85 virtual double accelSoilFactor()
const;
88 virtual double decelSoilFactor()
const;
91 virtual DtString soilTypeString()
const;
103 virtual void useFuel(
double fuelUsed);
110 virtual double fuelLeft()
const;
129 virtual void updateRepository(
const DtVector & localPosition,
131 const DtTaitBryan & localOrientation,
const DtVector& rotationalVelocity,
138 virtual double calculateMaxDecelerationFromBrake(
double brake);
147 virtual double calculateAccelerationFromEngine(
double throttle,
158 virtual void calculateFactorsFromSoilAndWeather(
const DtVector& location,
159 double& tractionFactor,
double& dragFactor);
166 virtual double calculateMaximumTractionAcceleration(
const double tractionFactor);
174 virtual double calculateSoilDragDeceleration(
const double dragFactor,
180 virtual double calculateAccelerationFromSlope(
double pitch);
195 virtual void calculateOrientationAndPosition(
196 const DtVector& newLocalProjectedLocation,
double newHeading,
197 DtDcm& newLocalOrientation,
DtVector& newLocalPosition);
204 virtual bool useHighFidelityGroundClamping()
const;
208 virtual bool useNavDataGroundClamping()
const;
221 bool groundClamp(
double heading,
const DtVector& location,
228 void groundClampHighFidelity(
double heading,
const DtVector& location,
236 void groundClampLowFidelity(
double heading,
const DtVector& location,
241 void groundClampWithNavData(
double heading,
const DtVector& location,
256 virtual double calculateHeading(
const double oldHeading,
258 const double steering,
const double throttle,
const double speed,
259 const double maxTractionAcceleration,
const double soilDragFactor,
268 virtual DtVector calculateBodyAcceleration(
double throttle,
270 const DtVector& oldBodyVelocity,
double oldPitch,
271 double maxTractionAcceleration,
double dragFactor,
double dT);
273 virtual DtVector calculateBodyVelocity(
277 virtual DtVector calculateProjectedLocation(
279 const DtVector& oldBodyVelocity,
double newHeading);
289 virtual bool checkForTerrainCollisions()
const;
296 virtual bool foundTerrainCollision(
double heading,
300 &collisionIntersectionRecord)
const;
311 virtual bool createMovementChord(
DtChord& movementChord,
314 const DtVector& newLocalPosition)
const;
320 virtual bool terrainPassable(
double heading,
322 terrainIntersectionRecord)
const;
326 virtual double calculateMaxSpeed();
330 virtual double calculateMaxAcceleration();
335 virtual void calculateDirectionOfLinearMotion(
336 const DtDcm& newLocalOrientation,
const DtVector& newLocalPosition,
337 DtDcm& newLocalDirectionOfLinearMotion);
345 virtual double slopeBoostRate()
const;
346 virtual void setSlopeBoostRate(
const double boost);
360 virtual double calculateSlopeBoostRate();
373 virtual bool createPSR();
378 virtual bool rotationalVelocityShouldBeClamped(
const DtVector&
379 bodyRotationalVelocity);
382 virtual double steeringControlValue()
const;
384 virtual double throttleControlValue()
const;
386 virtual double brakeControlValue()
const;
390 virtual bool parkingBrakeControlValue()
const;
394 virtual bool checkIfMoveOntoEmbarked(
const DtVector& localPosition);
396 virtual bool checkAndDisembarkIfEmbarked(
const DtVector& localPosition);
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
NOTE: This entire class is deprecated, in favor of Dt3dChord.
Definition: chord.h:40
DtVector myLastPitchLocation
Definition: automotiveActuatorComponent.h:481
Description: This repository holds all information that is common to all the forms of local ground en...
Definition: groundVehicleStateRepository.h:32
Definition: attachedTerrain.h:42
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
const DtActuatorComponent & operator=(const DtActuatorComponent &orig)
assignment operator
DtAutomotivePSR * myProcessState
Container for state data associated with this component.
Definition: automotiveActuatorComponent.h:467
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
DtBooleanInputPort * myClampToNavDataPort
Input Port Name: clamp-to-nav-data Input Port Description: Tells the actuator that it should temporar...
Definition: automotiveActuatorComponent.h:459
Definition: readerWriterRegistry.h:39
End User Description: DtActuator is the base class for all actuator model components.
Definition: actuatorComponent.h:48
DtUpdateRepositoryOutputPortGroup * myUpdateRepositoryOutputPortGroup
Port group used to set what values should be set into the VRF state repository.
Definition: automotiveActuatorComponent.h:471
DtConstrainedAnalogInputPort * myBrakePort
Input Port Name: brake Input Port Description: Input Port Range: 0.0 to 1.0 Input Port Default Valu...
Definition: automotiveActuatorComponent.h:433
DtConstrainedIntegerInputPort * myGearPort
Input Port Name: gear Input Port Description: Input Port Default Value: 0 Input Port Range: Reverse...
Definition: automotiveActuatorComponent.h:440
DtConstrainedAnalogInputPort * myThrottlePort
Input Port Name: throttle Input Port Description: Input Port Range: Input Port Default Value: 0 Inp...
Definition: automotiveActuatorComponent.h:419
bool myKeepParentPosition
Definition: automotiveActuatorComponent.h:476
Instances of DtAutomotivePSR are used to hold the shared/checkpointable data for an automotive system...
Definition: automotivePSR.h:36
DtAutomotiveActuatorDescriptor; descriptor for the DtAutomotiveActuatorComponent component.
Definition: automotiveActuatorDescriptor.h:24
virtual void tick()
This gives the thread of control to the component.
double mySlopeBoostRate
Definition: automotiveActuatorComponent.h:483
DtConstrainedAnalogInputPort * mySteeringPort
Input Port Name: steering Input Port Description: Input Port Range: -1.0 to 1.0 Input Port Default V...
Definition: automotiveActuatorComponent.h:426
virtual bool createPorts()
Called by init.
DtBooleanInputPort * myParkingBrakePort
Input Port Name: parking-brake Input Port Description: Input Port Range: Input Port Default Value: ...
Definition: automotiveActuatorComponent.h:447
DtGroundVehicleStateRepository * myGroundVehicleState
Definition: automotiveActuatorComponent.h:463
class DtSoilFactors:
Definition: soilFactors.h:31
virtual bool createPortGroups()
Called by init.
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
Definition: vrfChordIntersectionRecord.h:19
DtAutoTransmissionGearEnum
Definition: automotivePSR.h:24
const DtAutomotiveActuatorDescriptor * myAutomotiveDescriptor
Definition: automotiveActuatorComponent.h:475
DtUUID myWasJustEmbarkedOn
Definition: automotiveActuatorComponent.h:477
double myLastPitch
Definition: automotiveActuatorComponent.h:479
DtInputPortGroup * myAutomotiveControlPortGroup
Input Port Group Name: automotive-control Input Port Group Description: Provides input to the automot...
Definition: automotiveActuatorComponent.h:452
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:102
DtAutomotiveActuatorComponent provides a kinematics-based model of an automotive system.
Definition: automotiveActuatorComponent.h:44
double myLastPitchHeading
Definition: automotiveActuatorComponent.h:480
DtUpdateRepositoryOutputPortGroup is a data port group of a data consumer that contains methods and p...
Definition: updateRepositoryOutputPortGroup.h:28
virtual const char * type() const =0
Returns a string identifies the class type of component.