13 #include <vlpi/disEnums.h>
15 #include <matrix/LibMatrix.h>
18 #include <vl/rtiNamespace.h>
72 virtual const char*
type()
const;
91 virtual void calculateBodyVelocity(
const DtVector& oldRelativeVelocity,
92 const DtDcm& newLocalOrientation,
DtVector& newBodyVelocity);
97 virtual void calculateAirborneAcceleration(
const DtVector oldLocalPosition,
98 double oldSpeed,
const DtDcm& newLocalOrientation,
99 const DtVector& newBodyVelocity,
double throttle,
105 virtual void doFlying();
108 virtual void doTaxiing();
112 virtual bool isTouchingDown(
const DtVector& newLocalPosition,
113 const DtVector& newRelativeVelocity);
117 virtual bool isTakingOff(
bool isOnGround,
double speed);
119 virtual bool updateGroundInteractionPoints(
124 const DtDcm& localOrientation,
126 double halfHeightOfTerrainIntersectChord);
132 virtual double calculateYawRate(
double pedal);
135 virtual double calculatePitchRate(
double stickYValue);
138 virtual double calculateRollRate(
double stickXValue);
140 virtual void calculateBodyRotationRates(
double pedal,
double stickXValue,
141 double stickYValue,
DtVector& newBodyRotationRates);
145 virtual void calculateOrientation(
const DtDcm&
146 oldLocalOrientation,
const DtVector& newBodyRotationRates,
147 DtDcm& newLocalOrientation);
150 virtual void calculateBodyGravity(
const DtVector oldLocalPosition,
151 const DtDcm& newLocalOrientation,
DtVector& newBodyGravityAcceleration);
155 virtual void calculateThrustAcceleration(
double throttle,
156 DtVector& newBodyThrustAccleration);
162 virtual void calculateDragAcceleration(
double oldSpeed,
163 const DtVector& newBodyVelocity,
bool flapsDeployed,
170 virtual void fallFromSky(
const DtString& reason = DtString::nullString());
172 virtual bool collidesWithGround(
const DtVector& oldLocalPosition,
176 void integrate(
const DtVector& oldLocalPosition,
177 const DtVector& oldRelativeVelocity,
180 double maxSpeed = 0);
186 virtual void useFuel(
double fuelUsed);
187 virtual double fuelLeft()
const;
190 virtual double fullMass()
const;
193 virtual double currentMass()
const;
199 virtual double calculateHeading(
double oldHeading,
200 double steering,
double dT,
double speed,
double turningRadius);
202 virtual void calculateScalarVelocityAndAcceleration(
203 double oldPitch,
double &scalarVelocity,
double &scalarAcceleration);
204 virtual double calculateMaxGroundSpeed();
205 virtual double calculateMaxGroundAcceleration();
209 virtual double calculateAcceleration(
double pitch,
double maxSpeed,
210 double maxAccel,
double newSpeed);
211 virtual double calculateAccelerationFromThrottle();
214 virtual double calculateAccelerationFromSlope(
double slope);
216 virtual double calculateAccelerationFromResistance(
double maxSpeed,
218 virtual double calculateAccelerationFromBrake(
double otherAccels);
220 virtual DtVector calculateProjectedLocation(
222 const DtVector& oldBodyVelocity,
double newHeading);
224 virtual void calculateOrientationAndPositionOnGround(
225 const DtVector& newLocalProjectedLocation,
double newHeading,
226 DtDcm& newLocalOrientation,
DtVector& newLocalPosition);
229 virtual void updateRepository(
const DtVector& newLocalPosition,
230 const DtVector& newRelativeVelocity,
231 const DtVector& newRelativeAcceleration,
232 const DtDcm& newLocalOrientation,
const DtVector& newBodyRotationRates,
233 bool isOnGround,
const DtAppearance& newAppearance);
248 virtual void updateAirspeedToRepository(
const DtVector& newLocalPosition,
const double altitude);
250 virtual void updateDisplay()
const;
254 virtual double maxThrustAcceleration()
const;
255 virtual double maxClimbRate()
const;
256 virtual double maxYawVelocity()
const;
257 virtual double maxPitchVelocity()
const;
258 virtual double maxRollVelocity()
const;
259 virtual double maxAltitude()
const;
272 virtual bool createPSR();
275 virtual bool createFuelConsumptionModel();
277 virtual void sendDetonation(
const DtVector& geocentricPosition);
280 virtual void forceSpatialUpdate();
283 virtual void initializeSpatialAttributeList();
372 RTI::AttributeHandleSet* mySpatialAttributes;
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.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
const DtActuatorComponent & operator=(const DtActuatorComponent &orig)
assignment operator
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
bool mySentFallingMessage
Used to make sure fall message is only sent once.
Definition: fixedWingActuatorComponent.h:355
DtInputPortGroup * myFixedWingControlPortGroup
Input Port Group Name: fixed-wing-control Input Port Group Description: Provides input to the fixed-w...
Definition: fixedWingActuatorComponent.h:311
End User Description: DtActuator is the base class for all actuator model components.
Definition: actuatorComponent.h:48
DtFixedWingFlightPSR * myProcessState
Container for state data associated with this component.
Definition: fixedWingActuatorComponent.h:352
Implements the Breguet range equation V(L/D) Range = ---—*ln(Wi/Wf) g*SFC V = Velocity L/D = Lift/Dra...
Definition: aircraftFuelConsumptionModel.h:28
class DtFixedWingFlightPSR:
Definition: fixedWingFlightPSR.h:38
DtConstrainedAnalogInputPort * myThrottlePort
Input Port Name: throttle Input Port Description: Input Port Range: 0.
Definition: fixedWingActuatorComponent.h:318
bool myPreviouslyHadData
Definition: fixedWingActuatorComponent.h:364
This repository holds all information that is common to all the forms of local fixed wing entities wi...
Definition: fixedWingEntityStateRepository.h:37
virtual void tick()
This gives the thread of control to the component.
DtAircraftFuelConsumptionModel * myFuelConsumptionModel
Definition: fixedWingActuatorComponent.h:303
DtAirspeedCalculator * pMyAirSpeedCalculator
Air Speed Calculator for updating state properties Created in init()
Definition: fixedWingActuatorComponent.h:369
virtual bool createPorts()
Called by init.
class DtAirspeedCalculator:
Definition: airSpeedCalculator.h:20
virtual bool createPortGroups()
Called by init.
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
Class Invariant: The DtGroundInteractionPt class must always have a valid DtAttachedTerrain or DtSimM...
Definition: groundInteractionPt.h:28
DtBooleanInputPort * myFlapsDeployedPort
Input Port Name: flaps Input Port Description: Input Port Range: Input Port Default Value: false In...
Definition: fixedWingActuatorComponent.h:346
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:102
DtUpdateRepositoryOutputPortGroup * myUpdateRepositoryOutputPortGroup
Port group used to set what values should be set into the VRF state repository.
Definition: fixedWingActuatorComponent.h:362
bool myPutTaxiingPlaneOnGround
Used to make sure a taxiing, destroyed aircraft is only set down on the terrain once.
Definition: fixedWingActuatorComponent.h:358
DtFixedWingActuatorDescriptor, a descriptor for the DtFixedWingActuatorComponent component.
Definition: fixedWingActuatorDescriptor.h:29
bool myKeepParentPosition
Definition: fixedWingActuatorComponent.h:365
DtUpdateRepositoryOutputPortGroup is a data port group of a data consumer that contains methods and p...
Definition: updateRepositoryOutputPortGroup.h:28
DtFixedWingActuatorDescriptor * myFixedWingActuatorDescriptor
Definition: fixedWingActuatorComponent.h:302
DtConstrainedAnalogInputPort * myBrakePort
Input Port Name: brake Input Port Description: Input Port Range: 0.
Definition: fixedWingActuatorComponent.h:339
virtual const char * type() const =0
Returns a string identifies the class type of component.
DtFixedWingActuatorComponent provides a simple, kinematics-based model for air motion based on thrott...
Definition: fixedWingActuatorComponent.h:47
DtConstrainedAnalogInputPort * myPedalPort
Input Port Name: pedal Input Port Description: Input Port Range: -1.
Definition: fixedWingActuatorComponent.h:332
DtConstrainedDualAxisAnalogInputPort * myStickPort
Input Port Name: stick Input Port Description: Input Port Range: X:-1.
Definition: fixedWingActuatorComponent.h:325
DtFixedWingEntityStateRepository * myFixedWingEntityState
Definition: fixedWingActuatorComponent.h:301