VR-Engage  2.2
Loading...
Searching...
No Matches
DtVreStabilizedArtPartActuatorDescriptor Class Reference

Detailed Description

This class extends the base actuator component descriptor with additional parameters specific to stabilized articulated parts in VREngage. It provides configuration for rotation limits, slew rates, stabilization settings, and player control roles.

Stabilized articulated part actuator descriptor for VREngage

This class extends the base actuator component descriptor with additional parameters specific to stabilized articulated parts in VREngage. It provides configuration for rotation limits, slew rates, stabilization settings, and player control roles.

#include <artPartActuatorDescriptor.h>

Inheritance diagram for DtVreStabilizedArtPartActuatorDescriptor:
[legend]

Public Member Functions

 DtVreStabilizedArtPartActuatorDescriptor (const DtString &componentName, DtReaderWriterRegistry *parentRegistry=0)
 
 DtVreStabilizedArtPartActuatorDescriptor (const DtVreStabilizedArtPartActuatorDescriptor &orig, DtReaderWriterRegistry *parentRegistry=0)
 
DtVreStabilizedArtPartActuatorDescriptoroperator= (const DtVreStabilizedArtPartActuatorDescriptor &orig)
 
virtual ~DtVreStabilizedArtPartActuatorDescriptor () override
 
virtual DtString type () const override
 
virtual DtComponentDescriptor * clone (DtReaderWriterRegistry *parentRegistry=0) const override
 
virtual DtU16 axis () const
 
virtual DtReal maxSlewRate () const
 
virtual void setMaxSlewRate (DtReal maxSlewRate)
 
virtual bool hasLimits () const
 
virtual void setHasLimits (bool hasLimits)
 
virtual DtReal upperLimit () const
 
virtual DtReal lowerLimit () const
 
virtual bool invertSlew () const
 
virtual void setInvertSlew (bool invert)
 
virtual bool stabilizedByDefault () const
 
virtual void setStabilizedByDefault (bool onOff)
 
virtual DtString playerControlRole () const
 
virtual void setPlayerControlRole (DtString role)
 

Static Public Member Functions

static DtComponentDescriptor * creator ()
 

Protected Member Functions

 DtVreStabilizedArtPartActuatorDescriptor ()
 

Protected Attributes

Configuration Parameters

These parameters are available for setting in the OPD files. The values are copied to the PSR so that the articulated part controller can access them during simulation.

DtRwInt myAxis
 
DtRwReal myMaxSlewRate
 
DtRwBoolean myHasLimits
 
DtRwReal myLowerLimit
 
DtRwReal myUpperLimit
 
DtRwBoolean myInvertSlew
 
DtRwBoolean myStabilizedByDefault
 
DtRwString myPlayerControlRole
 

Constructor & Destructor Documentation

◆ DtVreStabilizedArtPartActuatorDescriptor() [1/3]

DtVreStabilizedArtPartActuatorDescriptor::DtVreStabilizedArtPartActuatorDescriptor ( const DtString & componentName,
DtReaderWriterRegistry * parentRegistry = 0 )

Constructor with component name.

Parameters
componentNameThe name of this component
parentRegistryParent registry for reader/writer functionality (optional)

Creates a new stabilized articulated part actuator descriptor with the specified name.

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

◆ DtVreStabilizedArtPartActuatorDescriptor() [2/3]

DtVreStabilizedArtPartActuatorDescriptor::DtVreStabilizedArtPartActuatorDescriptor ( const DtVreStabilizedArtPartActuatorDescriptor & orig,
DtReaderWriterRegistry * parentRegistry = 0 )

Copy constructor.

Parameters
origThe source descriptor to copy from
parentRegistryParent registry for reader/writer functionality (optional)

Creates a new stabilized articulated part actuator descriptor as a copy of the provided original.

References DtVreStabilizedArtPartActuatorDescriptor().

◆ ~DtVreStabilizedArtPartActuatorDescriptor()

virtual DtVreStabilizedArtPartActuatorDescriptor::~DtVreStabilizedArtPartActuatorDescriptor ( )
overridevirtual

Virtual destructor.

Cleans up resources used by the descriptor.

◆ DtVreStabilizedArtPartActuatorDescriptor() [3/3]

DtVreStabilizedArtPartActuatorDescriptor::DtVreStabilizedArtPartActuatorDescriptor ( )
protected

Default constructor (not implemented)

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

Member Function Documentation

◆ operator=()

DtVreStabilizedArtPartActuatorDescriptor & DtVreStabilizedArtPartActuatorDescriptor::operator= ( const DtVreStabilizedArtPartActuatorDescriptor & orig)

Assignment operator.

Parameters
origThe source descriptor to copy from
Returns
Reference to this descriptor after assignment

Assigns the contents of the provided descriptor to this one.

References DtVreStabilizedArtPartActuatorDescriptor().

◆ type()

virtual DtString DtVreStabilizedArtPartActuatorDescriptor::type ( ) const
overridevirtual

Gets the type identifier for this descriptor.

Returns
String identifying this descriptor type

Returns a unique type identifier string for this descriptor type.

◆ clone()

virtual DtComponentDescriptor * DtVreStabilizedArtPartActuatorDescriptor::clone ( DtReaderWriterRegistry * parentRegistry = 0) const
overridevirtual

Creates a clone of this descriptor.

Parameters
parentRegistryParent registry for reader/writer functionality (optional)
Returns
Pointer to a new descriptor that is a clone of this one

Creates a new stabilized articulated part actuator descriptor as a deep copy of this one.

◆ axis()

virtual DtU16 DtVreStabilizedArtPartActuatorDescriptor::axis ( ) const
virtual

Gets the rotation axis for this actuator.

Returns
The axis index (0 for azimuth, 1 for elevation, 2 for roll)

Returns the axis of rotation that this actuator controls.

◆ maxSlewRate()

virtual DtReal DtVreStabilizedArtPartActuatorDescriptor::maxSlewRate ( ) const
virtual

Gets the maximum slew rate.

Returns
The maximum slew rate in radians per second

Returns the maximum rate at which the articulated part can rotate.

Referenced by setMaxSlewRate().

◆ setMaxSlewRate()

virtual void DtVreStabilizedArtPartActuatorDescriptor::setMaxSlewRate ( DtReal maxSlewRate)
virtual

Sets the maximum slew rate.

Parameters
maxSlewRateThe maximum slew rate in radians per second

Sets the maximum rate at which the articulated part can rotate.

References maxSlewRate().

◆ hasLimits()

virtual bool DtVreStabilizedArtPartActuatorDescriptor::hasLimits ( ) const
virtual

Checks if the actuator has rotation limits.

Returns
True if the actuator has rotation limits, false otherwise

Returns whether the articulated part has limited rotation or can rotate freely.

Referenced by setHasLimits().

◆ setHasLimits()

virtual void DtVreStabilizedArtPartActuatorDescriptor::setHasLimits ( bool hasLimits)
virtual

Sets whether the actuator has rotation limits.

Parameters
hasLimitsTrue to enable rotation limits, false for free rotation

Sets whether the articulated part has limited rotation or can rotate freely.

References hasLimits().

◆ upperLimit()

virtual DtReal DtVreStabilizedArtPartActuatorDescriptor::upperLimit ( ) const
virtual

Gets the upper rotation limit.

Returns
The upper (clockwise) rotation limit in radians

Returns the maximum clockwise rotation limit for this articulated part.

◆ lowerLimit()

virtual DtReal DtVreStabilizedArtPartActuatorDescriptor::lowerLimit ( ) const
virtual

Gets the lower rotation limit.

Returns
The lower (counter-clockwise) rotation limit in radians

Returns the maximum counter-clockwise rotation limit for this articulated part.

◆ invertSlew()

virtual bool DtVreStabilizedArtPartActuatorDescriptor::invertSlew ( ) const
virtual

Checks if slew direction is inverted.

Returns
True if slew direction is inverted, false otherwise

Returns whether the sense of input relative to slew direction is inverted.

◆ setInvertSlew()

virtual void DtVreStabilizedArtPartActuatorDescriptor::setInvertSlew ( bool invert)
virtual

Sets whether slew direction is inverted.

Parameters
invertTrue to invert slew direction, false otherwise

Sets whether the sense of input relative to slew direction is inverted.

◆ stabilizedByDefault()

virtual bool DtVreStabilizedArtPartActuatorDescriptor::stabilizedByDefault ( ) const
virtual

Checks if stabilization is enabled by default.

Returns
True if stabilization is enabled by default, false otherwise

Returns whether the articulated part is stabilized when initialized.

◆ setStabilizedByDefault()

virtual void DtVreStabilizedArtPartActuatorDescriptor::setStabilizedByDefault ( bool onOff)
virtual

Sets whether stabilization is enabled by default.

Parameters
onOffTrue to enable stabilization by default, false otherwise

Sets whether the articulated part is stabilized when initialized.

◆ playerControlRole()

virtual DtString DtVreStabilizedArtPartActuatorDescriptor::playerControlRole ( ) const
virtual

Gets the player control role.

Returns
String identifying the player role required for control

Returns the role string required for player control of this actuator.

◆ setPlayerControlRole()

virtual void DtVreStabilizedArtPartActuatorDescriptor::setPlayerControlRole ( DtString role)
virtual

Sets the player control role.

Parameters
roleString identifying the player role required for control

Sets the role string required for player control of this actuator.

◆ creator()

static DtComponentDescriptor * DtVreStabilizedArtPartActuatorDescriptor::creator ( )
static

Factory function to create a new instance of this descriptor.

Returns
Pointer to a newly created descriptor

Static factory function used by the descriptor creation system to instantiate new instances of this descriptor type.

Member Data Documentation

◆ myAxis

DtRwInt DtVreStabilizedArtPartActuatorDescriptor::myAxis
protected

The rotation axis controlled by this actuator.

Defines which axis of rotation this actuator controls:

  • 0: Azimuth (rotation around vertical axis)
  • 1: Elevation (rotation around horizontal axis)
  • 2: Roll (rotation around longitudinal axis)

Default value: 0

◆ myMaxSlewRate

DtRwReal DtVreStabilizedArtPartActuatorDescriptor::myMaxSlewRate
protected

Maximum rotation rate for the articulated part.

Maximum rate at which the articulated part can rotate. Units: radians/second

Default value: 0.0

◆ myHasLimits

DtRwBoolean DtVreStabilizedArtPartActuatorDescriptor::myHasLimits
protected

Flag indicating whether rotation limits are enabled.

Indicates whether the articulated part has rotation limits or can rotate freely.

Default value: False

◆ myLowerLimit

DtRwReal DtVreStabilizedArtPartActuatorDescriptor::myLowerLimit
protected

Lower (counter-clockwise) rotation limit.

The lower limit (maximum counter-clockwise rotation) of the articulated part. Zero is taken to be forward (1, 0, 0), and positive angles go clockwise when viewed from above (because the entity z-axis points down).

If the part can rotate 360 degrees, both lower and upper limits should be set to 0.0. If the part is fixed, this lower limit is taken to be the fixed position.

Units: radians Default value: 0.0

◆ myUpperLimit

DtRwReal DtVreStabilizedArtPartActuatorDescriptor::myUpperLimit
protected

Upper (clockwise) rotation limit.

The upper limit (maximum clockwise rotation) of the articulated part. Zero is taken to be forward, and this parameter is ignored if the part is fixed.

If the part can rotate 360 degrees, both lower and upper limits should be set to 0.0.

Units: radians Default value: 0.0

◆ myInvertSlew

DtRwBoolean DtVreStabilizedArtPartActuatorDescriptor::myInvertSlew
protected

Flag to invert slew direction.

When set to true, inverts the sense of input relative to slew direction.

Default value: False

◆ myStabilizedByDefault

DtRwBoolean DtVreStabilizedArtPartActuatorDescriptor::myStabilizedByDefault
protected

Flag to enable stabilization by default.

Defines the initial state of articulated part stabilization. When stabilized, the part maintains its orientation in world space despite movement of the parent entity.

Default value: False

◆ myPlayerControlRole

DtRwString DtVreStabilizedArtPartActuatorDescriptor::myPlayerControlRole
protected

Player role required for control of this actuator.

Specifies the role string required for player control of this actuator. This allows for role-based access control to different articulated parts on a multi-crew entity.

Default value: "Gunner"


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