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::JointComponent Class Reference

Base class for game-time generic joint components. More...

#include <JointComponent.h>

Inherits AZ::Component, Physics::RigidBodyNotificationBus::MultiHandler, and AZ::TickBus::Handler.

Inherited by PhysX::BallJointComponent, PhysX::FixedJointComponent, PhysX::HingeJointComponent, and PhysX::PrismaticJointComponent.

Classes

struct  LeadFollowerInfo
 

Public Member Functions

 AZ_COMPONENT (JointComponent, "{B01FD1D2-1D91-438D-874A-BF5EB7E919A8}")
 
 JointComponent (const JointComponentConfiguration &configuration, const JointGenericProperties &genericProperties)
 
 JointComponent (const JointComponentConfiguration &configuration, const JointGenericProperties &genericProperties, const JointLimitProperties &limitProperties)
 
 JointComponent (const JointComponentConfiguration &configuration, const JointGenericProperties &genericProperties, const JointLimitProperties &limitProperties, const JointMotorProperties &motorProperties)
 

Static Public Member Functions

static void Reflect (AZ::ReflectContext *context)
 

Protected Member Functions

void Activate () override
 
void Deactivate () override
 
void OnPhysicsEnabled (const AZ::EntityId &entityId) override
 
void OnPhysicsDisabled (const AZ::EntityId &entityId) override
 
void CreateNativeJoint ()
 
void DestroyNativeJoint ()
 
virtual void InitNativeJoint ()
 
virtual void DeinitNativeJoint ()
 
void OnTick (float deltaTime, AZ::ScriptTimePoint time) override
 
AZ::Transform GetJointLocalPose (const physx::PxRigidActor *actor, const AZ::Transform &jointPose)
 
AZ::Transform GetJointTransform (AZ::EntityId entityId, const JointComponentConfiguration &jointConfig)
 
void ObtainLeadFollowerInfo (LeadFollowerInfo &leadFollowerInfo)
 
void WarnInvalidJointSetup (AZ::EntityId entityId, const AZStd::string &message)
 Issues warnings for invalid scenarios when initializing a joint from entity IDs.
 
void PrintJointSetupMessage (AZ::EntityId entityId, const AZStd::string &message)
 Issues info messages for potentially invalid scenarios when initializing a joint from entity IDs.
 

Protected Attributes

JointComponentConfiguration m_configuration
 
JointGenericProperties m_genericProperties
 
JointLimitProperties m_limits
 
JointMotorProperties m_motor
 
AzPhysics::JointHandle m_jointHandle = AzPhysics::InvalidJointHandle
 
AzPhysics::SceneHandle m_jointSceneOwner = AzPhysics::InvalidSceneHandle
 
AZStd::unordered_map< AZ::EntityId, bool > m_rigidBodyEntityMap
 

Detailed Description

Base class for game-time generic joint components.

Member Function Documentation

◆ ObtainLeadFollowerInfo()

void PhysX::JointComponent::ObtainLeadFollowerInfo ( LeadFollowerInfo leadFollowerInfo)
protected

Used on initialization by sub-classes to get native pointers from entity IDs. This allows sub-classes to instantiate specific native types. This base class does not need knowledge of any specific joint type.


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