Open 3D Engine PhysX Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
PhysX::ArticulationJointRequests Class Referenceabstract

Interface to communicate with a joint in a PhysX reduced co-ordinate articulation. More...

#include <ArticulationJointBus.h>

Inherits AZ::ComponentBus.

Public Member Functions

virtual void SetMotion (ArticulationJointAxis jointAxis, ArticulationJointMotionType jointMotionType)=0
 Set whether the degree of freedom for the specified axis is disabled, enabled with limits or enabled without limits.
 
virtual ArticulationJointMotionType GetMotion (ArticulationJointAxis jointAxis) const =0
 Get whether the degree of freedom for the specified axis is disabled, enabled with limits or enabled without limits.
 
virtual void SetLimit (ArticulationJointAxis jointAxis, AZStd::pair< float, float > limitPair)=0
 
virtual AZStd::pair< float, float > GetLimit (ArticulationJointAxis jointAxis) const =0
 
virtual void SetDriveStiffness (ArticulationJointAxis jointAxis, float stiffness)=0
 
virtual float GetDriveStiffness (ArticulationJointAxis jointAxis) const =0
 
virtual void SetDriveDamping (ArticulationJointAxis jointAxis, float damping)=0
 
virtual float GetDriveDamping (ArticulationJointAxis jointAxis) const =0
 
virtual void SetMaxForce (ArticulationJointAxis jointAxis, float maxForce)=0
 Set the maximum force for the joint drive for the motion associated with the given axis.
 
virtual float GetMaxForce (ArticulationJointAxis jointAxis) const =0
 Get the maximum force for the joint drive for the motion associated with the given axis.
 
virtual void SetIsAccelerationDrive (ArticulationJointAxis jointAxis, bool isAccelerationDrive)=0
 
virtual bool IsAccelerationDrive (ArticulationJointAxis jointAxis) const =0
 
virtual void SetDriveTarget (ArticulationJointAxis jointAxis, float target)=0
 
virtual float GetDriveTarget (ArticulationJointAxis jointAxis) const =0
 
virtual void SetDriveTargetVelocity (ArticulationJointAxis jointAxis, float targetVelocity)=0
 
virtual float GetDriveTargetVelocity (ArticulationJointAxis jointAxis) const =0
 
virtual void SetFrictionCoefficient (float frictionCoefficient)=0
 Set the joint friction coefficient for all the degrees of freedom of this joint.
 
virtual float GetFrictionCoefficient () const =0
 Get the joint friction coefficient for all the degrees of freedom of this joint.
 
virtual void SetMaxJointVelocity (float maxJointVelocity)=0
 Set the maximum joint velocity for all the degrees of freedom of this joint.
 
virtual float GetMaxJointVelocity () const =0
 Get the maximum joint velocity for all the degrees of freedom of this joint.
 
virtual float GetJointPosition (ArticulationJointAxis jointAxis) const =0
 Get the current joint position.
 
virtual float GetJointVelocity (ArticulationJointAxis jointAxis) const =0
 Get the current joint position.
 

Detailed Description

Interface to communicate with a joint in a PhysX reduced co-ordinate articulation.

Member Function Documentation

◆ GetDriveDamping()

virtual float PhysX::ArticulationJointRequests::GetDriveDamping ( ArticulationJointAxis  jointAxis) const
pure virtual

Get the drive damping for the joint drive for the motion associated with the given axis. The drive stiffness affects how strongly the joint drive responds to the difference between the target and actual joint velocity or angular velocity.

◆ GetDriveStiffness()

virtual float PhysX::ArticulationJointRequests::GetDriveStiffness ( ArticulationJointAxis  jointAxis) const
pure virtual

Get the drive stiffness for the joint drive for the motion associated with the given axis. The drive stiffness affects how strongly the joint drive responds to the difference between the target and actual joint position or rotation.

◆ GetDriveTarget()

virtual float PhysX::ArticulationJointRequests::GetDriveTarget ( ArticulationJointAxis  jointAxis) const
pure virtual

Get the target position for the motion associated with the given axis. The target will be a position in meters for a linear degree of freedom, or an angle in radians for a rotational degree of freedom.

◆ GetDriveTargetVelocity()

virtual float PhysX::ArticulationJointRequests::GetDriveTargetVelocity ( ArticulationJointAxis  jointAxis) const
pure virtual

Get the target velocity for the motion associated with the given axis. The target velocity will be a linear velocity in meters per second for a linear degree of freedom, or an angular velocity in radians per second for a rotational degree of freedom.

◆ GetLimit()

virtual AZStd::pair< float, float > PhysX::ArticulationJointRequests::GetLimit ( ArticulationJointAxis  jointAxis) const
pure virtual

Get the lower and upper limits for the motion corresponding to the specified axis. For linear degrees of freedom, the limits will be distances in meters. For rotational degrees of freedom, the limits will be angles in radians.

◆ IsAccelerationDrive()

virtual bool PhysX::ArticulationJointRequests::IsAccelerationDrive ( ArticulationJointAxis  jointAxis) const
pure virtual

Get whether the joint drive for the motion associated with the given axis operates in terms of acceleration (true) or force (false).

◆ SetDriveDamping()

virtual void PhysX::ArticulationJointRequests::SetDriveDamping ( ArticulationJointAxis  jointAxis,
float  damping 
)
pure virtual

Set the drive damping for the joint drive for the motion associated with the given axis. The drive stiffness affects how strongly the joint drive responds to the difference between the target and actual joint velocity or angular velocity.

◆ SetDriveStiffness()

virtual void PhysX::ArticulationJointRequests::SetDriveStiffness ( ArticulationJointAxis  jointAxis,
float  stiffness 
)
pure virtual

Set the drive stiffness for the joint drive for the motion associated with the given axis. The drive stiffness affects how strongly the joint drive responds to the difference between the target and actual joint position or rotation.

◆ SetDriveTarget()

virtual void PhysX::ArticulationJointRequests::SetDriveTarget ( ArticulationJointAxis  jointAxis,
float  target 
)
pure virtual

Set the target position for the motion associated with the given axis. The target will be a position in meters for a linear degree of freedom, or an angle in radians for a rotational degree of freedom.

◆ SetDriveTargetVelocity()

virtual void PhysX::ArticulationJointRequests::SetDriveTargetVelocity ( ArticulationJointAxis  jointAxis,
float  targetVelocity 
)
pure virtual

Set the target velocity for the motion associated with the given axis. The target velocity will be a linear velocity in meters per second for a linear degree of freedom, or an angular velocity in radians per second for a rotational degree of freedom.

◆ SetIsAccelerationDrive()

virtual void PhysX::ArticulationJointRequests::SetIsAccelerationDrive ( ArticulationJointAxis  jointAxis,
bool  isAccelerationDrive 
)
pure virtual

Set whether the joint drive for the motion associated with the given axis operates in terms of acceleration (true) or force (false).

◆ SetLimit()

virtual void PhysX::ArticulationJointRequests::SetLimit ( ArticulationJointAxis  jointAxis,
AZStd::pair< float, float >  limitPair 
)
pure virtual

Set the lower and upper limits for the motion corresponding to the specified axis. For linear degrees of freedom, the limits will be distances in meters. For rotational degrees of freedom, the limits will be angles in radians.


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