VR-Engage  2.2
Loading...
Searching...
No Matches
makVre::DtVreParachuteActuator Class Reference

Detailed Description

DtVreParachuteActuator extends the base parachute actuator to provide VR-Engage specific functionality. It supports both stowed and deployed states, forward movement, steering control, and simulates oxygen consumption at high altitudes or in vehicles with open cargo doors. The actuator manages the physics of parachute deployment and descent.

Uses Descriptor Type: DtVreParachuteActuatorDescriptor

#include <vreParachuteActuator.h>

Inheritance diagram for makVre::DtVreParachuteActuator:
[legend]

Public Member Functions

 DtVreParachuteActuator (const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 
virtual ~DtVreParachuteActuator () override
 
virtual const char * type () const override
 
virtual void tick () override
 
- Public Member Functions inherited from makVre::DtVreSimComponent< DtParachuteActuator >
 DtVreSimComponent (const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 
virtual ~DtVreSimComponent ()
 
bool isPlayerControlled (const std::string &role="") const
 
DtString entitySystemName () const
 

Static Public Member Functions

static DtSimComponent * creator (const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 

Protected Member Functions

virtual void useOxygen ()
 
virtual bool isCargoDoorOpen (DtSimObjectReference entity) const
 
virtual bool checkFallingApplicable (bool &dataAvailable) override
 
virtual void calculateOrientation (const DtDcm &oldLocalOrientation, const DtVector &newBodyRotationRates, DtDcm &newLocalOrientation) override
 
virtual void updateHandItem () override
 

Protected Attributes

DtVreParachuteActuatorDescriptormyDescriptor
 
const std::string myOxygenStatePropertyName = "Oxygen"
 
double myLastKnownFloorHeight
 

Private Member Functions

 DtVreParachuteActuator ()
 
 DtVreParachuteActuator (const DtVreParachuteActuator &orig)
 
const DtVreParachuteActuatoroperator= (const DtVreParachuteActuator &orig)
 

Constructor & Destructor Documentation

◆ DtVreParachuteActuator() [1/3]

makVre::DtVreParachuteActuator::DtVreParachuteActuator ( const DtString & name,
DtLocalObject * owner,
DtSimulationServices * simManager,
DtComponentDescriptor * desc = 0,
DtReaderWriterRegistry * parentRegistry = 0 )

Constructor.

Parameters
nameThe name of this component
ownerThe local object that owns this component
simManagerThe simulation services manager
descComponent descriptor with configuration parameters
parentRegistryOptional parent registry for reader/writer functionality

Creates a new parachute actuator component with the specified parameters.

Referenced by DtVreParachuteActuator(), and operator=().

◆ ~DtVreParachuteActuator()

virtual makVre::DtVreParachuteActuator::~DtVreParachuteActuator ( )
overridevirtual

Virtual destructor.

Cleans up resources used by the parachute actuator component, removing process state from process state manager before deleting it.

◆ DtVreParachuteActuator() [2/3]

makVre::DtVreParachuteActuator::DtVreParachuteActuator ( )
private

Default constructor (not implemented)

Default constructor is private and not implemented to prevent creation of instances without proper initialization.

◆ DtVreParachuteActuator() [3/3]

makVre::DtVreParachuteActuator::DtVreParachuteActuator ( const DtVreParachuteActuator & orig)
private

Copy constructor (not implemented)

Copy constructor is private and not implemented to prevent copy construction.

References DtVreParachuteActuator().

Member Function Documentation

◆ type()

virtual const char * makVre::DtVreParachuteActuator::type ( ) const
overridevirtual

to get access to the entity's localStateRepository, which this component will update, and then connect to the controller's ports.

Gets the type identifier for this component

Returns
String identifying the component type (DtVreParachuteActuatorType)

Implements the DtSimComponent::type() method to return the type identifier for this component.

◆ tick()

virtual void makVre::DtVreParachuteActuator::tick ( )
overridevirtual

Updates the actuator state each simulation frame.

Processes parachute simulation logic each simulation frame, updating position, orientation, and velocity based on the parachute state (stowed or deployed). Also handles oxygen usage and updates any hand items.

◆ creator()

static DtSimComponent * makVre::DtVreParachuteActuator::creator ( const DtString & name,
DtLocalObject * owner,
DtSimulationServices * simManager,
DtComponentDescriptor * desc = 0,
DtReaderWriterRegistry * parentRegistry = 0 )
static

Factory method to create a new instance of this component.

Parameters
nameThe name for the new component
ownerThe local object that will own this component
simManagerThe simulation services manager
descOptional component descriptor
parentRegistryOptional parent registry for reader/writer functionality
Returns
Pointer to the newly created component

Static factory method used by the component creation system to instantiate new instances of this component type.

◆ useOxygen()

virtual void makVre::DtVreParachuteActuator::useOxygen ( )
protectedvirtual

Simulates oxygen consumption in high-altitude conditions.

Simulates the use of oxygen when the entity is above a certain altitude and falling, or when inside a vehicle with an open cargo door. This affects the remaining oxygen supply for the entity, which can impact behavior when oxygen is depleted.

◆ isCargoDoorOpen()

virtual bool makVre::DtVreParachuteActuator::isCargoDoorOpen ( DtSimObjectReference entity) const
protectedvirtual

Checks if the cargo door on a specified entity is open.

Parameters
entityReference to the entity to check
Returns
True if the cargo door is open, false otherwise

Determines whether the cargo door on the specified entity is in the open position. This affects oxygen usage when the entity is inside a vehicle.

◆ checkFallingApplicable()

virtual bool makVre::DtVreParachuteActuator::checkFallingApplicable ( bool & dataAvailable)
overrideprotectedvirtual

Determines if falling behavior should be applied.

Parameters
dataAvailableOutput parameter indicating if required data is available
Returns
True if falling behavior should be applied, false otherwise

Checks various conditions to determine whether falling behavior should be applied to the entity in the current state. Sets the dataAvailable parameter to indicate if all required data was available for the check.

◆ calculateOrientation()

virtual void makVre::DtVreParachuteActuator::calculateOrientation ( const DtDcm & oldLocalOrientation,
const DtVector & newBodyRotationRates,
DtDcm & newLocalOrientation )
overrideprotectedvirtual

Calculates new orientation based on rotation rates.

Parameters
oldLocalOrientationThe current orientation matrix
newBodyRotationRatesThe rotation rates in body coordinates
newLocalOrientationOutput parameter for the new orientation matrix

Calculates a new orientation matrix based on the previous orientation and the specified rotation rates. The calculation takes into account the dynamics of parachute movement and steering inputs.

◆ updateHandItem()

virtual void makVre::DtVreParachuteActuator::updateHandItem ( )
overrideprotectedvirtual

Updates the entity's hand item based on parachute state.

Updates the item in the entity's hands based on the current state of the parachute (stowed or deployed). This ensures that the entity is visually represented with the appropriate items during parachute operation.

◆ operator=()

const DtVreParachuteActuator & makVre::DtVreParachuteActuator::operator= ( const DtVreParachuteActuator & orig)
private

Assignment operator (not implemented)

Returns
Reference to this object

Assignment operator is private and not implemented to prevent assignment.

References DtVreParachuteActuator().

Member Data Documentation

◆ myDescriptor

DtVreParachuteActuatorDescriptor* makVre::DtVreParachuteActuator::myDescriptor
protected

Pointer to the parachute actuator descriptor.

Contains configuration parameters for the parachute actuator, such as deployment altitude, descent rate, and steering sensitivity.

◆ myOxygenStatePropertyName

const std::string makVre::DtVreParachuteActuator::myOxygenStatePropertyName = "Oxygen"
protected

Name of the property representing the entity's oxygen state.

This constant string holds the property name used to access or update the oxygen state of the entity within the simulation.

◆ myLastKnownFloorHeight

double makVre::DtVreParachuteActuator::myLastKnownFloorHeight
protected

Last known height of the ground/floor beneath the entity.

Tracks the last known height of the ground or floor beneath the entity, used for determining landing conditions and altitude-related behaviors.


The documentation for this class was generated from the following file: