13 #include <vlpi/disEnums.h>
15 #include <matrix/LibMatrix.h>
18 #include <vl/rtiNamespace.h>
74 virtual const char*
type()
const;
93 virtual void calculateBodyVelocity(
const DtVector& oldRelativeVelocity,
94 const DtDcm& newLocalOrientation,
DtVector& newBodyVelocity);
99 virtual void calculateAirborneAcceleration(
const DtVector oldLocalPosition,
100 double oldSpeed,
const DtDcm& newLocalOrientation,
101 const DtVector& newBodyVelocity,
double throttle,
107 virtual void doFlying();
110 virtual void doTaxiing();
114 virtual bool isTouchingDown(
const DtVector& newLocalPosition,
115 const DtVector& newRelativeVelocity);
119 virtual bool isTakingOff(
bool isOnGround,
double speed);
121 virtual bool updateGroundInteractionPoints(
126 const DtDcm& localOrientation,
128 double halfHeightOfTerrainIntersectChord);
134 virtual double calculateYawRate(
double pedal);
137 virtual double calculatePitchRate(
double stickYValue);
140 virtual double calculateRollRate(
double stickXValue);
142 virtual void calculateBodyRotationRates(
double pedal,
double stickXValue,
143 double stickYValue,
DtVector& newBodyRotationRates);
147 virtual void calculateOrientation(
const DtDcm&
148 oldLocalOrientation,
const DtVector& newBodyRotationRates,
149 DtDcm& newLocalOrientation);
152 virtual void calculateBodyGravity(
const DtVector oldLocalPosition,
153 const DtDcm& newLocalOrientation,
DtVector& newBodyGravityAcceleration);
157 virtual void calculateThrustAcceleration(
double throttle,
158 DtVector& newBodyThrustAccleration);
164 virtual void calculateDragAcceleration(
double oldSpeed,
165 const DtVector& newBodyVelocity,
bool flapsDeployed,
172 virtual void fallFromSky(
const DtString& reason = DtString::nullString());
174 virtual bool collidesWithGround(
const DtVector& oldLocalPosition,
178 void integrate(
const DtVector& oldLocalPosition,
179 const DtVector& oldRelativeVelocity,
182 double maxSpeed = 0);
188 virtual void useFuel(
double fuelUsed);
189 virtual double fuelLeft()
const;
192 virtual double fullMass()
const;
195 virtual double currentMass()
const;
201 virtual double calculateHeading(
double oldHeading,
202 double steering,
double dT,
double speed,
double turningRadius);
204 virtual void calculateScalarVelocityAndAcceleration(
205 double oldPitch,
double &scalarVelocity,
double &scalarAcceleration);
206 virtual double calculateMaxGroundSpeed();
207 virtual double calculateMaxGroundAcceleration();
211 virtual double calculateAcceleration(
double pitch,
double maxSpeed,
212 double maxAccel,
double newSpeed);
213 virtual double calculateAccelerationFromThrottle();
216 virtual double calculateAccelerationFromSlope(
double slope);
218 virtual double calculateAccelerationFromResistance(
double maxSpeed,
220 virtual double calculateAccelerationFromBrake(
double otherAccels);
222 virtual DtVector calculateProjectedLocation(
224 const DtVector& oldBodyVelocity,
double newHeading);
226 virtual void calculateOrientationAndPositionOnGround(
227 const DtVector& newLocalProjectedLocation,
double newHeading,
228 DtDcm& newLocalOrientation,
DtVector& newLocalPosition);
231 virtual void updateRepository(
const DtVector& newLocalPosition,
232 const DtVector& newRelativeVelocity,
233 const DtVector& newRelativeAcceleration,
234 const DtDcm& newLocalOrientation,
const DtVector& newBodyRotationRates,
235 bool isOnGround,
const DtAppearance& newAppearance);
250 virtual void updateAirspeedToRepository(
const DtVector& newLocalPosition,
const double altitude);
252 virtual void updateDisplay()
const;
256 virtual double maxThrustAcceleration()
const;
257 virtual double maxClimbRate()
const;
258 virtual double maxYawVelocity()
const;
259 virtual double maxPitchVelocity()
const;
260 virtual double maxRollVelocity()
const;
261 virtual double maxAltitude()
const;
274 virtual bool createPSR();
277 virtual bool createFuelConsumptionModel();
279 virtual void sendDetonation(
const DtVector& geocentricPosition);
282 virtual void forceSpatialUpdate();
285 virtual void updateOrderedSpeed();
288 virtual void initializeSpatialAttributeList();
383 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
DtAirspeedCalculator * myAirSpeedCalculator
Air Speed Calculator for updating state properties Created in init()
Definition: fixedWingActuatorComponent.h:374
const DtActuatorComponent & operator=(const DtActuatorComponent &orig)
assignment operator
double myLastSpeed
myLastSpeed is used in tick() to catch velocity changes while paused, due to setCurrentSpeed() or set...
Definition: fixedWingActuatorComponent.h:380
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:360
DtInputPortGroup * myFixedWingControlPortGroup
Input Port Group Name: fixed-wing-control Input Port Group Description: Provides input to the fixed-w...
Definition: fixedWingActuatorComponent.h:316
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:357
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:323
bool myPreviouslyHadData
Definition: fixedWingActuatorComponent.h:369
This repository holds all information that is common to all the forms of local fixed wing entities wi...
Definition: fixedWingEntityStateRepository.h:38
virtual void tick()
This gives the thread of control to the component.
DtAircraftFuelConsumptionModel * myFuelConsumptionModel
Definition: fixedWingActuatorComponent.h:308
virtual bool createPorts()
Called by init.
class DtAirspeedCalculator:
Definition: airSpeedCalculator.h:23
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:351
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:103
DtUpdateRepositoryOutputPortGroup * myUpdateRepositoryOutputPortGroup
Port group used to set what values should be set into the VRF state repository.
Definition: fixedWingActuatorComponent.h:367
bool myPutTaxiingPlaneOnGround
Used to make sure a taxiing, destroyed aircraft is only set down on the terrain once.
Definition: fixedWingActuatorComponent.h:363
DtFixedWingActuatorDescriptor, a descriptor for the DtFixedWingActuatorComponent component.
Definition: fixedWingActuatorDescriptor.h:29
bool myKeepParentPosition
Definition: fixedWingActuatorComponent.h:370
DtUpdateRepositoryOutputPortGroup is a data port group of a data consumer that contains methods and p...
Definition: updateRepositoryOutputPortGroup.h:28
DtFixedWingActuatorDescriptor * myFixedWingActuatorDescriptor
Definition: fixedWingActuatorComponent.h:307
DtConstrainedAnalogInputPort * myBrakePort
Input Port Name: brake Input Port Description: Input Port Range: 0.
Definition: fixedWingActuatorComponent.h:344
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:50
DtConstrainedAnalogInputPort * myPedalPort
Input Port Name: pedal Input Port Description: Input Port Range: -1.
Definition: fixedWingActuatorComponent.h:337
DtConstrainedDualAxisAnalogInputPort * myStickPort
Input Port Name: stick Input Port Description: Input Port Range: X:-1.
Definition: fixedWingActuatorComponent.h:330
DtFixedWingEntityStateRepository * myFixedWingEntityState
Definition: fixedWingActuatorComponent.h:306