20class DtSetDestroyRequest;
21class DtSetRestoreRequest;
22class DtSetAltitudeRequest;
23class DtSetLocationRequest;
24class DtSetHeadingRequest;
26class DtBooleanInputPort;
27class DtAnalogInputPort;
36class HelicopterDynamics;
43class JoystickControlledBot;
86 DtVreRlActuator(
const DtString& name, DtLocalObject*
object, DtSimulationServices* simManager,
87 DtComponentDescriptor* compDescriptor, DtReaderWriterRegistry* parentRegistry);
104#if RTD_VRF_PLUGIN_VER >= 440
105 virtual const char*
type()
const override;
145 static DtSimComponent*
creator(
const DtString& name, DtLocalObject*
object, DtSimulationServices* simManager,
146 DtComponentDescriptor* compDescriptor, DtReaderWriterRegistry* parentRegistry);
196 DtVector& position, DtVector& velocity, DtVector& acceleration, DtTaitBryan& orientation, DtVector& rotVelocity);
221#if RTD_VRF_PLUGIN_VER >= 430
222 virtual void setRadio(DtSimRadio* radio)
override;
264#if RTD_VRF_PLUGIN_VER < 440
272 DtAnalogInputPort* myPedalPort;
275 DtConstrainedAnalogInputPort* myCollectivePort;
278 DtConstrainedDualAxisAnalogInputPort* myCyclicPort;
RotorLibCGF::HelicopterDynamics * myDynamics
Pointer to the real-time dynamics model.
Definition vreRlActuator.h:285
virtual void setRadio(DtSimBaseRadio *radio)
Sets the radio interface for this component.
virtual void tick() override
Performs per-frame processing.
DtReal myLastSpeed
Last recorded speed value.
Definition vreRlActuator.h:288
virtual void copyStateFromRTD(DtVector &position, DtVector &velocity, DtVector &acceleration, DtTaitBryan &orientation, DtVector &rotVelocity)
Copies state from RTD to provided parameters.
bool myPlayerControlled
Flag indicating whether the entity is player-controlled.
Definition vreRlActuator.h:282
virtual void processRadioMsg(DtSimMessage *msg)
Processes a radio message.
virtual void processSetRestore(DtSetRestoreRequest *req)
Processes a restore request.
void writeOutputData()
Writes output data to ports.
bool isPlayerControlled()
Checks if the entity is currently player-controlled.
DtBooleanInputPort * myJoystickEnabledPort
Input port for joystick enabled state.
Definition vreRlActuator.h:262
virtual DtString type() const
Gets the component type.
virtual double calculateFuel() const
Calculates current fuel consumption.
virtual void setSpeed(DtReal speed)
Sets the aircraft speed.
virtual bool createPorts() override
Creates component ports.
virtual void checkAndClampAircraftOnGround(const DtVector &localPosition)
Checks and adjusts the aircraft position to keep it on the ground.
virtual bool init() override
Initializes the component.
makVre::MiniPID * myXPid
PID controller for X-axis stabilization.
Definition vreRlActuator.h:291
static DtSimComponent * creator(const DtString &name, DtLocalObject *object, DtSimulationServices *simManager, DtComponentDescriptor *compDescriptor, DtReaderWriterRegistry *parentRegistry)
Component factory function.
virtual void copyStateFromRTD()
Copies state from RTD to the state repository.
const DtVreRlParameters * getParameters()
Gets the rotary-wing parameters.
virtual void copyStateToRTD()
Copies state from the state repository to RTD.
float myPreviousLat
Previous latitude value for position tracking.
Definition vreRlActuator.h:297
virtual void preFirstTickInit() override
Initializes the component before the first tick.
bool myReverseCollective
Flag indicating whether collective control should be reversed.
Definition vreRlActuator.h:303
static void radioMsgCallback(DtSimMessage *msg, void *usr)
Static callback for radio messages.
DtRotaryWingEntityStateRepository * getStateRepository()
Gets the state repository.
void setStatePropThresholdingEnabled(bool enable)
Enables or disables state propagation thresholding.
DtVreRlActuator(const DtString &name, DtLocalObject *object, DtSimulationServices *simManager, DtComponentDescriptor *compDescriptor, DtReaderWriterRegistry *parentRegistry)
Constructor.
virtual void processSetLocation(DtSetLocationRequest *req)
Processes a location change request.
float myPreviousLon
Previous longitude value for position tracking.
Definition vreRlActuator.h:300
makVre::MiniPID * myYPid
PID controller for Y-axis stabilization.
Definition vreRlActuator.h:294
virtual void processSetHeading(DtSetHeadingRequest *req)
Processes a heading change request.
DtBooleanInputPort * myWheelBrakePort
Input port for wheel brake control (boolean version)
Definition vreRlActuator.h:266
virtual ~DtVreRlActuator() override
Virtual destructor.
Rotary-wing parameters for VREngage.
Definition vreRlParameters.h:38
Rotary-wing aircraft actuator with enhanced collision and crash handling.
Definition vreRotaryWingActuator.h:33
A compact PID (Proportional-Integral-Derivative) controller class.
Definition pid.h:33
Definition vreRlActuator.h:40
const char TS_VREngageActuator[]
Type string for VREngage rotary-wing actuator component.
Definition vreRlActuator.h:50
Forward declarations for the RotorLibCGF namespace.
Definition vreRlActuator.h:35
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
Actuator for rotary-wing aircraft simulation.
Common definitions for the RTD backend library.