|
Open 3D Engine AzFramework API Reference
2205.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
|
Dynamic rigid body. More...
#include <RigidBody.h>
Inherits AzPhysics::SimulatedBody.
Public Member Functions | |
| AZ_RTTI (AzPhysics::RigidBody, "{156E459F-7BB7-4B4E-ADA0-2130D96B7E80}", AzPhysics::SimulatedBody) | |
| virtual void | AddShape (AZStd::shared_ptr< Physics::Shape > shape)=0 |
| virtual void | RemoveShape (AZStd::shared_ptr< Physics::Shape > shape)=0 |
| virtual AZ::u32 | GetShapeCount () |
| virtual AZStd::shared_ptr< Physics::Shape > | GetShape ([[maybe_unused]]AZ::u32 index) |
| virtual AZ::Vector3 | GetCenterOfMassWorld () const =0 |
| virtual AZ::Vector3 | GetCenterOfMassLocal () const =0 |
| virtual AZ::Matrix3x3 | GetInverseInertiaWorld () const =0 |
| virtual AZ::Matrix3x3 | GetInverseInertiaLocal () const =0 |
| virtual float | GetMass () const =0 |
| virtual float | GetInverseMass () const =0 |
| virtual void | SetMass (float mass)=0 |
| virtual void | SetCenterOfMassOffset (const AZ::Vector3 &comOffset)=0 |
| virtual AZ::Vector3 | GetLinearVelocity () const =0 |
| Retrieves the velocity at center of mass; only linear velocity, no rotational velocity contribution. | |
| virtual void | SetLinearVelocity (const AZ::Vector3 &velocity)=0 |
| virtual AZ::Vector3 | GetAngularVelocity () const =0 |
| virtual void | SetAngularVelocity (const AZ::Vector3 &angularVelocity)=0 |
| virtual AZ::Vector3 | GetLinearVelocityAtWorldPoint (const AZ::Vector3 &worldPoint) const =0 |
| virtual void | ApplyLinearImpulse (const AZ::Vector3 &impulse)=0 |
| virtual void | ApplyLinearImpulseAtWorldPoint (const AZ::Vector3 &impulse, const AZ::Vector3 &worldPoint)=0 |
| virtual void | ApplyAngularImpulse (const AZ::Vector3 &angularImpulse)=0 |
| virtual float | GetLinearDamping () const =0 |
| virtual void | SetLinearDamping (float damping)=0 |
| virtual float | GetAngularDamping () const =0 |
| virtual void | SetAngularDamping (float damping)=0 |
| virtual bool | IsAwake () const =0 |
| virtual void | ForceAsleep ()=0 |
| virtual void | ForceAwake ()=0 |
| virtual float | GetSleepThreshold () const =0 |
| virtual void | SetSleepThreshold (float threshold)=0 |
| virtual bool | IsKinematic () const =0 |
| virtual void | SetKinematic (bool kinematic)=0 |
| virtual void | SetKinematicTarget (const AZ::Transform &targetPosition)=0 |
| virtual bool | IsGravityEnabled () const =0 |
| virtual void | SetGravityEnabled (bool enabled)=0 |
| virtual void | SetSimulationEnabled (bool enabled)=0 |
| virtual void | SetCCDEnabled (bool enabled)=0 |
| virtual void | UpdateMassProperties (MassComputeFlags flags=MassComputeFlags::DEFAULT, const AZ::Vector3 ¢erOfMassOffsetOverride=AZ::Vector3::CreateZero(), const AZ::Matrix3x3 &inertiaTensorOverride=AZ::Matrix3x3::CreateIdentity(), const float massOverride=1.0f)=0 |
Public Member Functions inherited from AzPhysics::SimulatedBody | |
| AZ_RTTI (AzPhysics::SimulatedBody, "{BCC37A4F-1C05-4660-9E41-0CCF2D5E7175}") | |
| template<typename T > | |
| void | SetUserData (T *userData) |
| void * | GetUserData () |
| void | SetFrameId (uint32_t frameId) |
| uint32_t | GetFrameId () const |
| virtual AzPhysics::SceneQueryHit | RayCast (const RayCastRequest &request)=0 |
| void | ProcessCollisionEvent (const CollisionEvent &collision) const |
| void | ProcessTriggerEvent (const TriggerEvent &trigger) const |
| void | RegisterOnCollisionBeginHandler (SimulatedBodyEvents::OnCollisionBegin::Handler &handler) |
| void | RegisterOnCollisionPersistHandler (SimulatedBodyEvents::OnCollisionPersist::Handler &handler) |
| see RegisterOnCollisionBeginHandler | |
| void | RegisterOnCollisionEndHandler (SimulatedBodyEvents::OnCollisionEnd::Handler &handler) |
| see RegisterOnCollisionBeginHandler | |
| void | RegisterOnTriggerEnterHandler (SimulatedBodyEvents::OnTriggerEnter::Handler &handler) |
| void | RegisterOnTriggerExitHandler (SimulatedBodyEvents::OnTriggerExit::Handler &handler) |
| see RegisterOnTriggerEnterHandler | |
| virtual AZ::Crc32 | GetNativeType () const =0 |
| virtual void * | GetNativePointer () const =0 |
| virtual Scene * | GetScene () |
| virtual AZ::EntityId | GetEntityId () const =0 |
| virtual AZ::Transform | GetTransform () const =0 |
| virtual void | SetTransform (const AZ::Transform &transform)=0 |
| virtual AZ::Vector3 | GetPosition () const =0 |
| virtual AZ::Quaternion | GetOrientation () const =0 |
| virtual AZ::Aabb | GetAabb () const =0 |
Public Attributes | |
| AZ_CLASS_ALLOCATOR_DECL | |
Public Attributes inherited from AzPhysics::SimulatedBody | |
| AZ_CLASS_ALLOCATOR_DECL | |
| SceneHandle | m_sceneOwner = AzPhysics::InvalidSceneHandle |
| The current Scene the simulated body is contained. | |
| SimulatedBodyHandle | m_bodyHandle = AzPhysics::InvalidSimulatedBodyHandle |
| The handle to this simulated body. | |
| bool | m_simulating = false |
Additional Inherited Members | |
Static Public Member Functions inherited from AzPhysics::SimulatedBody | |
| static void | Reflect (AZ::ReflectContext *context) |
Static Public Attributes inherited from AzPhysics::SimulatedBody | |
| static constexpr uint32_t | UndefinedFrameId = AZStd::numeric_limits<uint32_t>::max() |
Dynamic rigid body.
|
pure virtual |
Recalculates mass, inertia and center of mass based on the flags passed.
| flags | MassComputeFlags specifying which properties should be recomputed. |
| centerOfMassOffsetOverride | Optional override of the center of mass. Note: This parameter will be ignored if COMPUTE_COM is passed in flags. |
| inertiaTensorOverride | Optional override of the inertia. Note: This parameter will be ignored if COMPUTE_INERTIA is passed in flags. |
| massOverride | Optional override of the mass. Note: This parameter will be ignored if COMPUTE_MASS is passed in flags. |
1.8.17