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);
401 static void terainChangeNotification(
const DtExtent& spatExtent,
void* usr);
407 void processTerrainChangeNotification(
const DtExtent& spatExtent);
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:491
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:477
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:469
Definition: readerWriterRegistry.h:39
The DtExtent represents an axis-aligned 3d bounding box.
Definition: extent.h:43
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:481
DtConstrainedAnalogInputPort * myBrakePort
Input Port Name: brake Input Port Description: Input Port Range: 0.0 to 1.0 Input Port Default Valu...
Definition: automotiveActuatorComponent.h:443
DtConstrainedIntegerInputPort * myGearPort
Input Port Name: gear Input Port Description: Input Port Default Value: 0 Input Port Range: Reverse...
Definition: automotiveActuatorComponent.h:450
DtConstrainedAnalogInputPort * myThrottlePort
Input Port Name: throttle Input Port Description: Input Port Range: Input Port Default Value: 0 Inp...
Definition: automotiveActuatorComponent.h:429
bool myKeepParentPosition
Definition: automotiveActuatorComponent.h:486
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
bool myDataUnavailableOnTerrainUpdate
A flag to indicate that data was not available when querying terrain during a terrain update so that ...
Definition: automotiveActuatorComponent.h:501
virtual void tick()
This gives the thread of control to the component.
double mySlopeBoostRate
Definition: automotiveActuatorComponent.h:493
DtConstrainedAnalogInputPort * mySteeringPort
Input Port Name: steering Input Port Description: Input Port Range: -1.0 to 1.0 Input Port Default V...
Definition: automotiveActuatorComponent.h:436
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:457
DtGroundVehicleStateRepository * myGroundVehicleState
Definition: automotiveActuatorComponent.h:473
class DtSoilFactors:
Definition: soilFactors.h:31
virtual bool createPortGroups()
Called by init.
bool myTerrainUpdateTriggeredFlag
A flag that is set if the terrain has been altered.
Definition: automotiveActuatorComponent.h:496
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:485
DtUUID myWasJustEmbarkedOn
Definition: automotiveActuatorComponent.h:487
double myLastPitch
Definition: automotiveActuatorComponent.h:489
DtInputPortGroup * myAutomotiveControlPortGroup
Input Port Group Name: automotive-control Input Port Group Description: Provides input to the automot...
Definition: automotiveActuatorComponent.h:462
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:103
DtAutomotiveActuatorComponent provides a kinematics-based model of an automotive system.
Definition: automotiveActuatorComponent.h:44
double myLastPitchHeading
Definition: automotiveActuatorComponent.h:490
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.