17 #include <matrix/LibMatrix.h>
18 #include <vlpi/disEnums.h>
19 #include <boost/signals2.hpp>
62 virtual bool init()
override;
66 virtual const char*
type()
const override;
69 virtual void tick()
override;
74 virtual void useFuel(
double fuelUsed);
75 virtual double fuelLeft()
const;
78 virtual double fuelUsed(
double speed)
const;
85 virtual void fallFromSky();
109 virtual bool createPSR();
112 virtual void clampFrameRate();
115 virtual void setLanded(
const DtVector& localIntersectionPoint);
118 virtual bool checkFlyingWithoutFuel();
121 virtual void setYawAcceleration();
122 virtual void calculateYawRate();
125 virtual double calculateOneAxisOfOrientation(
const int axis,
const double angleInit,
const double period,
const double portValue,
const double maxAccel,
const double maxRate);
127 virtual void calculatePitchAcceleration();
129 virtual void calculatePitchRate();
132 virtual void calculateRollAcceleration();
133 virtual void calculateRollRate();
135 virtual void checkAndDetachIfNecessary();
141 virtual void calculateOrientation();
144 virtual void calculateNormalizedBodyVelocity();
147 virtual void calculateLiftAcceleration();
157 virtual double altitudePowerFactor(
const double altitude);
161 virtual void calculateResultantAcceleration();
164 virtual void integrate();
167 virtual void updateRepository();
182 virtual void updateAirspeedToRepository();
185 virtual void updateDisplay();
206 virtual void checkLandedOrCrashed();
220 virtual bool isCrashedIntoGround(
const DtVector& localPosition,
221 const double downSpeed,
222 DtVector& localIntersectionPoint);
226 virtual void sendDetonation(
const DtVector& geocentricLocation);
233 virtual bool isSubsurface()
const;
243 virtual bool componentInitialized()
const;
247 virtual bool engineOperational()
const;
251 virtual void updateAppearance();
254 virtual void updateOrderedSpeed();
259 virtual void processSetLocationCallback();
DtRotaryWingEntityStateRepository * myRotaryWingEntityState
Definition: rotaryWingActuatorComponent.h:275
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
DtVector myNormalizedBodyVelocity
Definition: rotaryWingActuatorComponent.h:323
This repository holds all information that is common to all the forms of local rotary wing entities w...
Definition: rotaryWingEntityStateRepository.h:27
boost::signals2::connection mySetLocationCompleteConnection
Definition: rotaryWingActuatorComponent.h:358
DtVector myPreviousGroundClampedPosition
Definition: rotaryWingActuatorComponent.h:332
DtVector myBodyLift
Definition: rotaryWingActuatorComponent.h:324
const DtActuatorComponent & operator=(const DtActuatorComponent &orig)
assignment operator
DtRotaryWingActuatorDescriptor; descriptor for the DtRotaryWingActuatorComponent component.
Definition: rotaryWingActuatorDescriptor.h:22
virtual void preFirstTickInit()
This function can be overridden to initialize a component before it is ticked for the first time...
DtUpdateRepositoryOutputPortGroup * myUpdateRepositoryOutputPortGroup
Port group used to set what values should be set into the VRF state repository. All values are in loc...
Definition: rotaryWingActuatorComponent.h:341
Definition: rotaryWingFlightPSR.h:30
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
DtVector myBodyAcceleration
Definition: rotaryWingActuatorComponent.h:325
DtVector myRelativeAcceleration
Definition: rotaryWingActuatorComponent.h:326
End User Description: DtActuator is the base class for all actuator model components. Developer Description: The DtActuator base class caches a pointer to the entity's radio for convenience. Derived classes may have articulated parts that are configured from the DtActuatorComponentDescriptor's DtSimArtPartDescriptorList. For each articulated part in the list a DtArticulatedPartStateRepository will be created to store the data for the part such as it's location, rotation and so forth. These are created in the entity's DtVrfObjectStateRepository createParts() function. This call creates all the attached parts for all the actuators. These articulated state repositories are managed by the DtAttachmentManager. They are cached by their partType which is the DIS Enumeration describing the part from the disEnums.h file and was specified in the actuator's DtActuatorComponentDescriptor as descriped above. The partType is used as the category of the DtEntityType used to look up articulated parts in the DtAttachementManager. When an actuator needs access to a particular articulated part it looks it up by the part's object type.
Definition: actuatorComponent.h:47
DtRotaryWingFlightPSR * myProcessState
Container for state data associated with this component. This state is saved and restored as part of ...
Definition: rotaryWingActuatorComponent.h:337
DtConstrainedAnalogInputPort * myCollectivePort
Input Port Name: collective Input Port Description: Input Port Range: 0. to 1. Input Port Default Va...
Definition: rotaryWingActuatorComponent.h:311
DtReal mySpeedRatioSquared
Definition: rotaryWingActuatorComponent.h:321
DtDcm myBodyToLocalMatrix
Definition: rotaryWingActuatorComponent.h:319
DtInputPortGroup * myRotaryWingControlPortGroup
Input Port Group Name: rotary-wing-control Input Port Group Description:
Definition: rotaryWingActuatorComponent.h:283
The DtPhysicalWorld is the primary interface to and manager of all of the "physical" aspects of the s...
Definition: physicalWorld.h:112
bool myPrintedOutOfFuelMessage
Definition: rotaryWingActuatorComponent.h:333
DtVector myBodyVelocity
Definition: rotaryWingActuatorComponent.h:322
virtual bool init() override
Overridden to cache a pointer to the entity's radio in this class.
DtReal myAltitudeAGL
Definition: rotaryWingActuatorComponent.h:331
double myHeightAboveGroundSupport
Cached value from heightAboveGroundSupport.
Definition: rotaryWingActuatorComponent.h:344
virtual void tick()
This gives the thread of control to the component. The component is ticked once each simulation from ...
DtVector myBodyRotationRates
Definition: rotaryWingActuatorComponent.h:317
DtDcm myLocalToBodyMatrix
Definition: rotaryWingActuatorComponent.h:320
DtPlatformLocalObjectFacade myPlatformLocalObjectFacade
Member to allow for access to platform specific data.
Definition: rotaryWingActuatorComponent.h:357
DtTaitBryan myOrientation
Definition: rotaryWingActuatorComponent.h:318
virtual bool createPorts()
Called by init. Derived classes should override this method to create all their input/output ports an...
DtConstrainedAnalogInputPort * myThrottlePort
Input Port Name: throttle Input Port Description: Input Port Range: 0. to 1. Input Port Default Valu...
Definition: rotaryWingActuatorComponent.h:290
DtAirspeedCalculator * myAirSpeedCalculator
Air Speed Calculator for updating state properties Created in init()
Definition: rotaryWingActuatorComponent.h:348
DtReal mySpeed
Definition: rotaryWingActuatorComponent.h:328
DtConstrainedDualAxisAnalogInputPort * myCyclicPort
Input Port Name: cyclic Input Port Description: Input Port Range: X: -1. to 1. Y: -1...
Definition: rotaryWingActuatorComponent.h:297
class DtAirspeedCalculator:
Definition: airSpeedCalculator.h:23
virtual bool createPortGroups()
Called by init. Derived classes should override this method to create all their input/output port gro...
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
DtReal myMaxDragAcceleration
Definition: rotaryWingActuatorComponent.h:315
DtVector myRelativeVelocity
Definition: rotaryWingActuatorComponent.h:327
DtConstrainedAnalogInputPort * myPedalPort
Input Port Name: pedal Input Port Description: Input Port Range: -1. to 1. Input Port Default Value:...
Definition: rotaryWingActuatorComponent.h:304
DtVector myLocalPosition
Definition: rotaryWingActuatorComponent.h:329
Definition: terrainDatabase.h:148
The algorithm for updating the kinematic variables and modeling the limiting effects of maximum rotat...
Definition: rotaryWingActuatorComponent.h:46
DtVector myBodyRotationalAcceleration
Definition: rotaryWingActuatorComponent.h:316
DtVector myLocalOrientation
Definition: rotaryWingActuatorComponent.h:330
DtUpdateRepositoryOutputPortGroup is a data port group of a data consumer that contains methods and p...
Definition: updateRepositoryOutputPortGroup.h:31
DtRotaryWingActuatorDescriptor * myRotaryWingActuatorDescriptor
Definition: rotaryWingActuatorComponent.h:276
virtual const char * type() const =0
Returns a string identifies the class type of component. Type values are defined in compTypes...
A locally simulated VRF object.
Definition: localObject.h:98
double myLastSpeed
myLastSpeed is used in tick() to catch velocity changes while paused, due to setCurrentSpeed() or set...
Definition: rotaryWingActuatorComponent.h:354