|
VR-Engage
2.2
|
DtVortexMovementActuatorDescriptor provides configuration for a Vortex physics-based movement actuator. It stores the mechanism name, articulated part mappings, interface descriptors, and configuration parameters for the Vortex physics engine. It also defines various thresholds for position, orientation, velocity, and other physics properties that control when updates are triggered.
This descriptor is used for configuring vehicle movement and other entity physics in the simulation using the Vortex physics engine.
#include <vortexMovementActuatorDescriptor.h>
Public Member Functions | |
| DtVortexMovementActuatorDescriptor (const DtString &componentName, DtReaderWriterRegistry *parentRegistry=0) | |
| DtVortexMovementActuatorDescriptor (const DtSymbolString &componentName, DtReaderWriterRegistry *parentRegistry=NULL) | |
| DtVortexMovementActuatorDescriptor (const DtVortexMovementActuatorDescriptor &orig, DtReaderWriterRegistry *parentRegistry=0) | |
| virtual | ~DtVortexMovementActuatorDescriptor () override |
| DtVortexMovementActuatorDescriptor & | operator= (const DtVortexMovementActuatorDescriptor &orig) |
| virtual DtString | type () const override |
| virtual DtComponentDescriptor * | clone (DtReaderWriterRegistry *parentRegistry=0) const override |
| virtual std::string | mechanismName () const |
| virtual void | setMechanismName (const std::string &name) |
| virtual void | setVortexArtPartDescriptorList (const makVre::DtVortexSimArtPartDescriptorList &artPartDescriptorList) |
| virtual const makVre::DtVortexSimArtPartDescriptorList & | vortexArtPartDescriptorList () const |
| virtual void | setVortexInterfaceDescriptorList (const makVre::DtVortexInterfaceDescriptorList &interfaceDescriptorList) |
| virtual const makVre::DtVortexInterfaceDescriptorList & | vortexInterfaceDescriptorList () const |
| virtual void | setVortexConfigurationDescriptor (const makVre::DtVortexConfigurationDescriptor &configurationDescriptor) |
| virtual const makVre::DtVortexConfigurationDescriptor & | vortexConfigurationDescriptor () const |
| virtual double | positionThreshold () const |
| virtual void | setPositionThreshold (double val) |
| virtual double | orientationThreshold () const |
| virtual void | setOrientationThreshold (double val) |
| virtual double | velocityThreshold () const |
| virtual void | setVelocityThreshold (double val) |
| virtual double | angularVelocityThreshold () const |
| virtual void | setAngularVelocityThreshold (double val) |
| virtual double | accelerationThreshold () const |
| virtual void | setAccelerationThreshold (double val) |
| virtual double | partPositionThreshold () const |
| virtual void | setPartPositionThreshold (double val) |
| virtual double | partOrientationThreshold () const |
| virtual void | setPartOrientationThreshold (double val) |
| virtual double | partVelocityThreshold () const |
| virtual void | setPartVelocityThreshold (double val) |
| virtual double | partAngularVelocityThreshold () const |
| virtual void | setPartAngularVelocityThreshold (double val) |
| virtual double | extendedDataThreshold () const |
| virtual void | setExtendedDataThreshold (double val) |
| virtual void | setUseArtPartWheelPositions (const bool yesNo) |
| virtual bool | useArtPartWheelPositions () const |
| virtual void | setUseMassFromEntity (const bool yesNo) |
| virtual bool | useMassFromEntity () const |
| virtual double | fuelEfficiency () const |
| virtual void | setFuelEfficiency (double d) |
| virtual double | additionalDropHeight () const |
| virtual void | setAdditionalDropHeight (double d) |
| virtual bool | allowVortexWhileDestroyed () const |
| virtual void | setAllowVortexWhileDestroyed (bool allow) |
| virtual bool | detectTerrainFallthrough () const |
| virtual void | setDetectTerrainFallthrough (bool detect) |
| virtual const DtEntityType & | fuelType () const |
| virtual void | setFuelType (const DtEntityType &fuelType) |
Static Public Member Functions | |
| static DtComponentDescriptor * | creator () |
Protected Attributes | |
| DtRwString | myMechanismFilename |
| DtRwBoolean | myUseArtPartWheelPositions |
| DtRwBoolean | myUseMassFromEntity |
| makVre::DtVortexSimArtPartDescriptorList | myVortexArtPartDescriptorList |
| makVre::DtVortexInterfaceDescriptorList | myVortexInterfaceDescriptorList |
| makVre::DtVortexConfigurationDescriptor | myVortexConfigurationDescriptor |
| DtRwReal | myPositionThreshold |
| DtRwReal | myOrientationThreshold |
| DtRwReal | myVelocityThreshold |
| DtRwReal | myAngularVelocityThreshold |
| DtRwReal | myPartPositionThreshold |
| DtRwReal | myPartOrientationThreshold |
| DtRwReal | myAccelerationThreshold |
| DtRwReal | myPartLinearVelocityThreshold |
| DtRwReal | myPartAngularVelocityThreshold |
| DtRwResource | myFuelType |
| DtRwReal | myFuelEfficiency |
| DtRwReal | myExtendedDataThreshold |
| DtRwBoolean | myAllowVortexWhileDestroyed |
| DtRwBoolean | myDetectTerrainFallthrough |
| DtRwReal | myAdditionalHeightToDrop |
Private Member Functions | |
| DtVortexMovementActuatorDescriptor () | |
|
private |
Default constructor (not implemented)
Private to prevent use - requires component name
Referenced by DtVortexMovementActuatorDescriptor(), and operator=().
| DtVortexMovementActuatorDescriptor::DtVortexMovementActuatorDescriptor | ( | const DtString & | componentName, |
| DtReaderWriterRegistry * | parentRegistry = 0 ) |
Constructor with component name and registry.
| componentName | Name of the actuator component |
| parentRegistry | Optional parent registry for reader/writer operations |
| DtVortexMovementActuatorDescriptor::DtVortexMovementActuatorDescriptor | ( | const DtSymbolString & | componentName, |
| DtReaderWriterRegistry * | parentRegistry = NULL ) |
Constructor with symbol component name and registry.
| componentName | Symbol string name of the actuator component |
| parentRegistry | Optional parent registry for reader/writer operations |
| DtVortexMovementActuatorDescriptor::DtVortexMovementActuatorDescriptor | ( | const DtVortexMovementActuatorDescriptor & | orig, |
| DtReaderWriterRegistry * | parentRegistry = 0 ) |
Copy constructor.
| orig | Original actuator descriptor to copy from |
| parentRegistry | Optional parent registry for reader/writer operations |
References DtVortexMovementActuatorDescriptor().
|
overridevirtual |
Virtual destructor.
| DtVortexMovementActuatorDescriptor & DtVortexMovementActuatorDescriptor::operator= | ( | const DtVortexMovementActuatorDescriptor & | orig | ) |
Assignment operator.
| orig | Original actuator descriptor to copy from |
References DtVortexMovementActuatorDescriptor().
|
overridevirtual |
Gets the type of this component descriptor.
Implementation of the DtComponentDescriptor::type() method
|
overridevirtual |
Creates a clone of this actuator descriptor.
| parentRegistry | Optional parent registry for reader/writer operations |
Implementation of the DtComponentDescriptor::clone() method
|
static |
Factory method for creating instances of this class.
Implementation of the DtComponentDescriptor::creator() method
|
virtual |
Gets the name of the Vortex mechanism.
|
virtual |
Sets the name of the Vortex mechanism.
| name | The name of the mechanism file to use |
|
virtual |
Sets the list of Vortex articulated part descriptors.
| artPartDescriptorList | The list of articulated part descriptors to set |
Defines the articulated parts that will be mapped to Vortex physics components
|
virtual |
Gets the list of Vortex articulated part descriptors.
|
virtual |
Sets the list of Vortex interface descriptors.
| interfaceDescriptorList | The list of interface descriptors to set |
Defines the interfaces for communication with the Vortex physics engine
|
virtual |
Gets the list of Vortex interface descriptors.
|
virtual |
Sets the Vortex configuration descriptor.
| configurationDescriptor | The configuration descriptor to set |
Defines the configuration parameters for the Vortex physics engine
|
virtual |
Gets the Vortex configuration descriptor.
|
virtual |
Gets the position threshold value.
Position changes below this threshold will not trigger updates
|
virtual |
Sets the position threshold value.
| val | The threshold value to set for position updates in meters |
|
virtual |
Gets the orientation threshold value.
Orientation changes below this threshold will not trigger updates
|
virtual |
Sets the orientation threshold value.
| val | The threshold value to set for orientation updates in radians |
|
virtual |
Gets the velocity threshold value.
Velocity changes below this threshold will not trigger updates
|
virtual |
Sets the velocity threshold value.
| val | The threshold value to set for velocity updates in meters per second |
|
virtual |
Gets the angular velocity threshold value.
Angular velocity changes below this threshold will not trigger updates
|
virtual |
Sets the angular velocity threshold value.
| val | The threshold value to set for angular velocity updates in radians per second |
|
virtual |
Gets the acceleration threshold value.
Acceleration changes below this threshold will not trigger updates
|
virtual |
Sets the acceleration threshold value.
| val | The threshold value to set for acceleration updates in meters per second squared |
|
virtual |
Gets the articulated part position threshold value.
Part position changes below this threshold will not trigger updates
|
virtual |
Sets the articulated part position threshold value.
| val | The threshold value to set for part position updates in meters |
|
virtual |
Gets the articulated part orientation threshold value.
Part orientation changes below this threshold will not trigger updates
|
virtual |
Sets the articulated part orientation threshold value.
| val | The threshold value to set for part orientation updates in radians |
|
virtual |
Gets the articulated part velocity threshold value.
Part velocity changes below this threshold will not trigger updates
|
virtual |
Sets the articulated part velocity threshold value.
| val | The threshold value to set for part velocity updates in meters per second |
|
virtual |
Gets the articulated part angular velocity threshold value.
Part angular velocity changes below this threshold will not trigger updates
|
virtual |
Sets the articulated part angular velocity threshold value.
| val | The threshold value to set for part angular velocity updates in radians per second |
|
virtual |
Gets the extended data threshold value.
Extended data changes below this threshold will not trigger updates
|
virtual |
Sets the extended data threshold value.
| val | The threshold value to set for extended data updates |
|
virtual |
Sets whether to use articulated part wheel positions.
| yesNo | True to use wheel positions from articulated parts, false to use positions from Vortex model |
When true, wheel positions in the Vortex model will be adjusted to match the positions specified in articulated parts. When false, the wheel positions in the Vortex model are used as-is. Default is true.
|
virtual |
Checks if articulated part wheel positions are being used.
|
virtual |
Sets whether to use mass from the entity.
| yesNo | True to use mass from entity definition, false to use mass from Vortex model |
When true, the Vortex model will use the mass value specified in the entity definition. When false, the mass value defined in the Vortex mechanism model is used as-is.
|
virtual |
Checks if entity mass is being used instead of Vortex model mass.
|
virtual |
Gets the fuel efficiency value.
Determines how much fuel is consumed when a ground vehicle moves
|
virtual |
Sets the fuel efficiency value.
| d | The fuel efficiency value in fuel units per distance traveled |
|
virtual |
Gets the additional height to add when dropping a vehicle above terrain.
This value is used by dropAboveTerrain() to position the vehicle slightly above the calculated terrain height to prevent the vehicle from getting stuck in or clipping through the terrain surface.
|
virtual |
Sets the additional height to add when dropping a vehicle above terrain.
| d | The additional drop height in meters (default: 0.5) |
Configures the vertical offset added to the terrain height when positioning a vehicle using dropAboveTerrain(). This ensures the vehicle spawns slightly above the terrain to avoid intersection issues.
|
virtual |
Accessor/mutator for myFuelType.
Referenced by setFuelType().
|
virtual |
Accessor/mutator for myFuelType.
References fuelType().
|
virtual |
Gets the allow-vortex-while-destroyed flag.
When this flag is true, Vortex physics simulation will remain active even when the entity is destroyed or mobility-killed. This allows for realistic physics behavior of destroyed vehicles (e.g., continued rolling, settling, debris physics).
When false (default), Vortex control is disabled for destroyed or mobility-killed entities, and the entity uses standard movement behavior.
|
virtual |
Sets the allow-vortex-while-destroyed flag.
| allow | True to allow Vortex physics for destroyed entities, false to disable |
Controls whether Vortex physics simulation continues when the entity is destroyed or mobility-killed. Set to true to enable realistic post-destruction physics (vehicle settling, rolling, etc.). Set to false to use standard movement behavior for destroyed entities.
This setting is read during the actuator's initialization phase and stored in the actuator's myAllowVortexWhileDestroyed member variable.
|
virtual |
Gets the detect-terrain-fallthrough flag.
When this flag is true, the actuator will check for terrain availability during Vortex simulation and log diagnostic information when the vehicle falls through the terrain due to missing terrain data.
When false (default), terrain fallthrough detection is disabled.
|
virtual |
Sets the detect-terrain-fallthrough flag.
| detect | True to enable terrain fallthrough detection, false to disable |
Controls whether the actuator monitors for terrain fallthrough conditions. When enabled, the actuator will check terrain availability and log warnings when the vehicle position indicates a fall-through scenario.
This setting is read during the actuator's initialization phase.
|
protected |
The name of the Vortex mechanism file.
|
protected |
Flag indicating whether to use wheel positions from articulated parts.
|
protected |
Flag indicating whether to use wheel positions from articulated parts.
|
protected |
List of articulated part descriptors for Vortex physics.
|
protected |
List of interface descriptors for communication with Vortex.
|
protected |
Configuration descriptor for Vortex physics parameters.
|
protected |
Threshold for vehicle position updates in meters.
|
protected |
Threshold for vehicle orientation updates in radians.
|
protected |
Threshold for vehicle velocity updates in meters per second.
|
protected |
Threshold for vehicle angular velocity updates in radians per second.
|
protected |
Threshold for articulated part position updates in meters.
|
protected |
Threshold for articulated part orientation updates in radians.
|
protected |
Threshold for vehicle acceleration updates in meters per second squared.
|
protected |
Threshold for articulated part velocity updates in meters per second.
|
protected |
Threshold for articulated part angular velocity updates in radians per second.
|
protected |
Parameter Name: fuel-type
Parameter Description: The fuel that will be consumed by the surface vessel.
Parameter Default Value: 6:3:0:2:1:0:0 Gasoline
Parameter Units: Entity Type
.
|
protected |
Fuel efficiency value in fuel units per distance traveled.
When a ground vehicle moves, this determines how much fuel is consumed. The value is dependent on the unit of measurement of the resource. Default value is 100.
|
protected |
Threshold for extended data updates.
Controls the rate at which extended data changes trigger updates.
|
protected |
Controls whether Vortex physics continues for destroyed entities.
When true, Vortex physics simulation remains active even when the entity is destroyed or mobility-killed. When false (default), Vortex control is disabled for destroyed or mobility-killed entities.
This setting allows for realistic post-destruction physics behavior, such as a destroyed vehicle continuing to roll down a hill or settle into position.
The value is read by DtVortexMovementActuator during initialization and affects the entity's physics simulation behavior.
|
protected |
Controls whether terrain fallthrough detection is enabled.
When true, the actuator monitors terrain availability during Vortex simulation and logs diagnostic information when terrain fallthrough is detected. When false (default), fallthrough detection is disabled.
This setting is read by DtVortexMovementActuator during initialization and controls whether detectTerrainFallthrough() is called during simulation.
|
protected |
Additional height offset applied when dropping vehicles above terrain.
Specifies the vertical distance (in meters) to add above the calculated terrain height when positioning a vehicle using dropAboveTerrain(). This offset prevents the vehicle from spawning at exactly the terrain surface level, which could cause clipping or intersection issues with the terrain geometry.
The value is used by DtVortexMovementActuator::dropAboveTerrain() to ensure the vehicle's lowest bounding point is positioned slightly above the terrain.
Sysdef parameter: additional-drop-height