|
Public Member Functions inherited from Body |
| JPH_OVERRIDE_NEW_DELETE | Body ()=default |
| | Default constructor. More...
|
| |
| | ~Body () |
| | Destructor. More...
|
| |
| const BodyID & | GetID () const |
| | Get the id of this body. More...
|
| |
| EBodyType | GetBodyType () const |
| | Get the type of body (rigid or soft) More...
|
| |
| bool | IsRigidBody () const |
| | Check if this body is a rigid body. More...
|
| |
| bool | IsSoftBody () const |
| | Check if this body is a soft body. More...
|
| |
| bool | IsActive () const |
| | If this body is currently actively simulating (true) or sleeping (false) More...
|
| |
| bool | IsStatic () const |
| | Check if this body is static (not movable) More...
|
| |
| bool | IsKinematic () const |
| | Check if this body is kinematic (keyframed), which means that it will move according to its current velocity, but forces don't affect it. More...
|
| |
| bool | IsDynamic () const |
| | Check if this body is dynamic, which means that it moves and forces can act on it. More...
|
| |
| bool | CanBeKinematicOrDynamic () const |
| | Check if a body could be made kinematic or dynamic (if it was created dynamic or with mAllowDynamicOrKinematic set to true) More...
|
| |
| void | SetIsSensor (bool inIsSensor) |
| |
| bool | IsSensor () const |
| | Check if this body is a sensor. More...
|
| |
| void | SetSensorDetectsStatic (bool inDetectsStatic) |
| |
| bool | SensorDetectsStatic () const |
| | Check if this sensor detects static objects entering it. More...
|
| |
| void | SetUseManifoldReduction (bool inUseReduction) |
| |
| bool | GetUseManifoldReduction () const |
| | Check if this body can use manifold reduction. More...
|
| |
| bool | GetUseManifoldReductionWithBody (const Body &inBody2) const |
| | Checks if the combination of this body and inBody2 should use manifold reduction. More...
|
| |
| EMotionType | GetMotionType () const |
| | Motion type of this body. More...
|
| |
| void | SetMotionType (EMotionType inMotionType) |
| |
| BroadPhaseLayer | GetBroadPhaseLayer () const |
| | Get broadphase layer, this determines in which broad phase sub-tree the object is placed. More...
|
| |
| ObjectLayer | GetObjectLayer () const |
| | Get object layer, this determines which other objects it collides with. More...
|
| |
| const CollisionGroup & | GetCollisionGroup () const |
| | Collision group and sub-group ID, determines which other objects it collides with. More...
|
| |
| CollisionGroup & | GetCollisionGroup () |
| |
| void | SetCollisionGroup (const CollisionGroup &inGroup) |
| |
| bool | GetAllowSleeping () const |
| | If this body can go to sleep. Note that disabling sleeping on a sleeping object wil not wake it up. More...
|
| |
| void | SetAllowSleeping (bool inAllow) |
| |
| float | GetFriction () const |
| | Friction (dimensionless number, usually between 0 and 1, 0 = no friction, 1 = friction force equals force that presses the two bodies together). Note that bodies can have negative friction but the combined friction (see PhysicsSystem::SetCombineFriction) should never go below zero. More...
|
| |
| void | SetFriction (float inFriction) |
| |
| float | GetRestitution () const |
| | Restitution (dimensionless number, usually between 0 and 1, 0 = completely inelastic collision response, 1 = completely elastic collision response). Note that bodies can have negative restitution but the combined restitution (see PhysicsSystem::SetCombineRestitution) should never go below zero. More...
|
| |
| void | SetRestitution (float inRestitution) |
| |
| Vec3 | GetLinearVelocity () const |
| | Get world space linear velocity of the center of mass (unit: m/s) More...
|
| |
| void | SetLinearVelocity (Vec3Arg inLinearVelocity) |
| | Set world space linear velocity of the center of mass (unit: m/s) More...
|
| |
| void | SetLinearVelocityClamped (Vec3Arg inLinearVelocity) |
| | Set world space linear velocity of the center of mass, will make sure the value is clamped against the maximum linear velocity. More...
|
| |
| Vec3 | GetAngularVelocity () const |
| | Get world space angular velocity of the center of mass (unit: rad/s) More...
|
| |
| void | SetAngularVelocity (Vec3Arg inAngularVelocity) |
| | Set world space angular velocity of the center of mass (unit: rad/s) More...
|
| |
| void | SetAngularVelocityClamped (Vec3Arg inAngularVelocity) |
| | Set world space angular velocity of the center of mass, will make sure the value is clamped against the maximum angular velocity. More...
|
| |
| Vec3 | GetPointVelocityCOM (Vec3Arg inPointRelativeToCOM) const |
| | Velocity of point inPoint (in center of mass space, e.g. on the surface of the body) of the body (unit: m/s) More...
|
| |
| Vec3 | GetPointVelocity (RVec3Arg inPoint) const |
| | Velocity of point inPoint (in world space, e.g. on the surface of the body) of the body (unit: m/s) More...
|
| |
| void | AddForce (Vec3Arg inForce) |
| | Add force (unit: N) at center of mass for the next time step, will be reset after the next call to PhysicsSimulation::Update. More...
|
| |
| void | AddForce (Vec3Arg inForce, RVec3Arg inPosition) |
| | Add force (unit: N) at inPosition for the next time step, will be reset after the next call to PhysicsSimulation::Update. More...
|
| |
| void | AddTorque (Vec3Arg inTorque) |
| | Add torque (unit: N m) for the next time step, will be reset after the next call to PhysicsSimulation::Update. More...
|
| |
| Vec3 | GetAccumulatedForce () const |
| |
| Vec3 | GetAccumulatedTorque () const |
| |
| JPH_INLINE void | ResetForce () |
| |
| JPH_INLINE void | ResetTorque () |
| |
| Mat44 | GetInverseInertia () const |
| | Get inverse inertia tensor in world space. More...
|
| |
| void | AddImpulse (Vec3Arg inImpulse) |
| | Add impulse to center of mass (unit: kg m/s) More...
|
| |
| void | AddImpulse (Vec3Arg inImpulse, RVec3Arg inPosition) |
| | Add impulse to point in world space (unit: kg m/s) More...
|
| |
| void | AddAngularImpulse (Vec3Arg inAngularImpulse) |
| | Add angular impulse in world space (unit: N m s) More...
|
| |
| void | MoveKinematic (RVec3Arg inTargetPosition, QuatArg inTargetRotation, float inDeltaTime) |
| | Set velocity of body such that it will be positioned at inTargetPosition/Rotation in inDeltaTime seconds. More...
|
| |
| bool | ApplyBuoyancyImpulse (RVec3Arg inSurfacePosition, Vec3Arg inSurfaceNormal, float inBuoyancy, float inLinearDrag, float inAngularDrag, Vec3Arg inFluidVelocity, Vec3Arg inGravity, float inDeltaTime) |
| |
| bool | IsInBroadPhase () const |
| | Check if this body has been added to the physics system. More...
|
| |
| bool | IsCollisionCacheInvalid () const |
| | Check if this body has been changed in such a way that the collision cache should be considered invalid for any body interacting with this body. More...
|
| |
| const Shape * | GetShape () const |
| | Get the shape of this body. More...
|
| |
| RVec3 | GetPosition () const |
| | World space position of the body. More...
|
| |
| Quat | GetRotation () const |
| | World space rotation of the body. More...
|
| |
| RMat44 | GetWorldTransform () const |
| | Calculates the transform of this body. More...
|
| |
| RVec3 | GetCenterOfMassPosition () const |
| | Gets the world space position of this body's center of mass. More...
|
| |
| RMat44 | GetCenterOfMassTransform () const |
| | Calculates the transform for this body's center of mass. More...
|
| |
| RMat44 | GetInverseCenterOfMassTransform () const |
| | Calculates the inverse of the transform for this body's center of mass. More...
|
| |
| const AABox & | GetWorldSpaceBounds () const |
| | Get world space bounding box. More...
|
| |
| const MotionProperties * | GetMotionProperties () const |
| | Access to the motion properties. More...
|
| |
| MotionProperties * | GetMotionProperties () |
| |
| const MotionProperties * | GetMotionPropertiesUnchecked () const |
| | Access to the motion properties (version that does not check if the object is kinematic or dynamic) More...
|
| |
| MotionProperties * | GetMotionPropertiesUnchecked () |
| |
| uint64 | GetUserData () const |
| | Access to the user data, can be used for anything by the application. More...
|
| |
| void | SetUserData (uint64 inUserData) |
| |
| Vec3 | GetWorldSpaceSurfaceNormal (const SubShapeID &inSubShapeID, RVec3Arg inPosition) const |
| | Get surface normal of a particular sub shape and its world space surface position on this body. More...
|
| |
| TransformedShape | GetTransformedShape () const |
| | Get the transformed shape of this body, which can be used to do collision detection outside of a body lock. More...
|
| |
| BodyCreationSettings | GetBodyCreationSettings () const |
| | Debug function to convert a body back to a body creation settings object to be able to save/recreate the body later. More...
|
| |
| SoftBodyCreationSettings | GetSoftBodyCreationSettings () const |
| | Debug function to convert a soft body back to a soft body creation settings object to be able to save/recreate the body later. More...
|
| |
| void | AddPositionStep (Vec3Arg inLinearVelocityTimesDeltaTime) |
| | Update position using an Euler step (used during position integrate & constraint solving) More...
|
| |
| void | SubPositionStep (Vec3Arg inLinearVelocityTimesDeltaTime) |
| |
| void | AddRotationStep (Vec3Arg inAngularVelocityTimesDeltaTime) |
| | Update rotation using an Euler step (using during position integrate & constraint solving) More...
|
| |
| void | SubRotationStep (Vec3Arg inAngularVelocityTimesDeltaTime) |
| |
| void | SetInBroadPhaseInternal (bool inInBroadPhase) |
| | Flag if body is in the broadphase (should only be called by the BroadPhase) More...
|
| |
| bool | InvalidateContactCacheInternal () |
| | Invalidate the contact cache (should only be called by the BodyManager), will be reset the next simulation step. Returns true if the contact cache was still valid. More...
|
| |
| void | ValidateContactCacheInternal () |
| | Reset the collision cache invalid flag (should only be called by the BodyManager). More...
|
| |
| void | CalculateWorldSpaceBoundsInternal () |
| | Updates world space bounding box (should only be called by the PhysicsSystem) More...
|
| |
| void | SetPositionAndRotationInternal (RVec3Arg inPosition, QuatArg inRotation, bool inResetSleepTestSpheres=true) |
| | Function to update body's position (should only be called by the BodyInterface since it also requires updating the broadphase) More...
|
| |
| void | UpdateCenterOfMassInternal (Vec3Arg inPreviousCenterOfMass, bool inUpdateMassProperties) |
| |
| void | SetShapeInternal (const Shape *inShape, bool inUpdateMassProperties) |
| |
| uint32 | GetIndexInActiveBodiesInternal () const |
| | Access to the index in the BodyManager::mActiveBodies list. More...
|
| |
| ECanSleep | UpdateSleepStateInternal (float inDeltaTime, float inMaxMovement, float inTimeBeforeSleep) |
| | Update eligibility for sleeping. More...
|
| |
| void | SaveState (StateRecorder &inStream) const |
| | Saving state for replay. More...
|
| |
| void | RestoreState (StateRecorder &inStream) |
| | Restoring state for replay. More...
|
| |
| | NonCopyable ()=default |
| |
| | NonCopyable (const NonCopyable &)=delete |
| |
| void | operator= (const NonCopyable &)=delete |
| |
Static Public Member Functions inherited from Body |
| static bool | sFindCollidingPairsCanCollide (const Body &inBody1, const Body &inBody2) |
| |
Static Public Attributes inherited from Body |
| static Body | sFixedToWorld |
| | A dummy body that can be used by constraints to attach a constraint to the world instead of another body. More...
|
| |
| static constexpr uint32 | cInactiveIndex = MotionProperties::cInactiveIndex |
| | Constant indicating that body is not active. More...
|
| |