Interface IRigidBody3D
Interface for RigidBody in 3D physics.
Inherited Members
Namespace: Evergine.Framework.Physics3D
Assembly: Evergine.Framework.dll
Syntax
public interface IRigidBody3D : IPhysicBody3D
Properties
Aabb
Gets the bounding box.
Declaration
BoundingBox Aabb { get; }
Property Value
Type | Description |
---|---|
BoundingBox |
ActivationState
Gets or sets the activation state.
Declaration
ActivationState ActivationState { get; set; }
Property Value
Type | Description |
---|---|
ActivationState |
AngularDamping
Gets the angular damping used to reduce the angular velocity.
Declaration
float AngularDamping { get; }
Property Value
Type | Description |
---|---|
float |
AngularFactor
Gets or sets the angular factor.
Declaration
Vector3 AngularFactor { get; set; }
Property Value
Type | Description |
---|---|
Vector3 |
AngularSleepingThreshold
Gets the sleep threshold for angular velocity.
Declaration
float AngularSleepingThreshold { get; }
Property Value
Type | Description |
---|---|
float |
AngularVelocity
Gets or sets the angular velocity.
Declaration
Vector3 AngularVelocity { get; set; }
Property Value
Type | Description |
---|---|
Vector3 |
CenterOfMassPosition
Gets the center of mass.
Declaration
Vector3 CenterOfMassPosition { get; }
Property Value
Type | Description |
---|---|
Vector3 |
CenterOfMassTransform
Gets or sets the center of mass transformation.
Declaration
Matrix4x4 CenterOfMassTransform { get; set; }
Property Value
Type | Description |
---|---|
Matrix4x4 |
Gravity
Gets or sets the gravity applied to this rigid body.
Declaration
Vector3 Gravity { get; set; }
Property Value
Type | Description |
---|---|
Vector3 |
InvInertiaDiagLocal
Gets or sets the InvInertiaDiagLocal vector of the rigid body.
Declaration
Vector3 InvInertiaDiagLocal { get; set; }
Property Value
Type | Description |
---|---|
Vector3 |
InvInertiaTensorWorld
Gets the inverse vector of the inertia tensor of the world.
Declaration
Matrix4x4 InvInertiaTensorWorld { get; }
Property Value
Type | Description |
---|---|
Matrix4x4 |
InvMass
Gets the inverse of the mass.
Declaration
float InvMass { get; }
Property Value
Type | Description |
---|---|
float |
IsInWorld
Gets a value indicating whether this body is in the world.
Declaration
bool IsInWorld { get; }
Property Value
Type | Description |
---|---|
bool |
IsKinematicObject
Gets a value indicating whether this body is kinematic.
Declaration
bool IsKinematicObject { get; }
Property Value
Type | Description |
---|---|
bool |
IsStaticOrKinematicObject
Gets a value indicating whether this body is kinematic.
Declaration
bool IsStaticOrKinematicObject { get; }
Property Value
Type | Description |
---|---|
bool |
LinearDamping
Gets the linear damping used to reduce the linear velocity.
Declaration
float LinearDamping { get; }
Property Value
Type | Description |
---|---|
float |
LinearFactor
Gets or sets the linear factor.
Declaration
Vector3 LinearFactor { get; set; }
Property Value
Type | Description |
---|---|
Vector3 |
LinearSleepingThreshold
Gets the sleep threshold for linear velocity.
Declaration
float LinearSleepingThreshold { get; }
Property Value
Type | Description |
---|---|
float |
LinearVelocity
Gets or sets the linear velocity.
Declaration
Vector3 LinearVelocity { get; set; }
Property Value
Type | Description |
---|---|
Vector3 |
LocalInertia
Gets the local inertia.
Declaration
Vector3 LocalInertia { get; }
Property Value
Type | Description |
---|---|
Vector3 |
Mass
Gets or sets the mass of the rigid body.
Declaration
float Mass { get; set; }
Property Value
Type | Description |
---|---|
float |
Orientation
Gets the orientation.
Declaration
Quaternion Orientation { get; }
Property Value
Type | Description |
---|---|
Quaternion |
TotalForce
Gets the total force applied to the rigid body.
Declaration
Vector3 TotalForce { get; }
Property Value
Type | Description |
---|---|
Vector3 |
TotalTorque
Gets the total torque applied to the rigid body.
Declaration
Vector3 TotalTorque { get; }
Property Value
Type | Description |
---|---|
Vector3 |
Methods
ApplyCentralForce(Vector3)
Applies a central force to the rigid body.
Declaration
void ApplyCentralForce(Vector3 force)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | force | The force. |
ApplyCentralImpulse(Vector3)
Applies an impulse to the center of the rigid body.
Declaration
void ApplyCentralImpulse(Vector3 impulse)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | impulse | The impulse. |
ApplyDamping(float)
Applies the damping.
Declaration
void ApplyDamping(float step)
Parameters
Type | Name | Description |
---|---|---|
float | step | Delta time. |
ApplyForce(Vector3, Vector3)
Apply a force to the rigid body.
Declaration
void ApplyForce(Vector3 force, Vector3 relativePosition)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | force | The force vector. |
Vector3 | relativePosition | Relative position of the point where the force will be applied. |
ApplyGravity()
Applies the gravity.
Declaration
void ApplyGravity()
ApplyImpulse(Vector3, Vector3)
Apply an impulse to the rigid body.
Declaration
void ApplyImpulse(Vector3 impulse, Vector3 relativePosition)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | impulse | The impulse. |
Vector3 | relativePosition | Relative position of the point where the force will be applied. |
ApplyTorque(Vector3)
Applies a torque force to the rigid body.
Declaration
void ApplyTorque(Vector3 torque)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | torque | The torque. |
ApplyTorqueImpulse(Vector3)
Applies a torque impulse to the rigid body.
Declaration
void ApplyTorqueImpulse(Vector3 torque)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | torque | The torque impulse. |
ClearForces()
Clears all forces applied to the rigid body.
Declaration
void ClearForces()
ComputeAngularImpulseDenominator(Vector3)
Computes the angular impulse denominator.
Declaration
float ComputeAngularImpulseDenominator(Vector3 axis)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | axis | The axis. |
Returns
Type | Description |
---|---|
float | The angular impulse denominator. |
ComputeGyroscopicForceExplicit(float)
Compute the gyroscopic impulse implicitly.
Declaration
Vector3 ComputeGyroscopicForceExplicit(float step)
Parameters
Type | Name | Description |
---|---|---|
float | step | The step. |
Returns
Type | Description |
---|---|
Vector3 | The gyroscopic impulse. |
ComputeGyroscopicImpulseImplicit_Body(float)
Computes the gyroscopic impulse imparted by the body.
Declaration
Vector3 ComputeGyroscopicImpulseImplicit_Body(float step)
Parameters
Type | Name | Description |
---|---|---|
float | step | The step. |
Returns
Type | Description |
---|---|
Vector3 | The gyroscopic impulse. |
ComputeGyroscopicImpulseImplicit_World(float)
Computes the gyroscopic impulse implied by the world.
Declaration
Vector3 ComputeGyroscopicImpulseImplicit_World(float step)
Parameters
Type | Name | Description |
---|---|---|
float | step | The step. |
Returns
Type | Description |
---|---|
Vector3 | The gyroscopic impulse. |
ComputeImpulseDenominator(Vector3, Vector3)
Computes the impulse denominator.
Declaration
float ComputeImpulseDenominator(Vector3 pos, Vector3 normal)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | pos | The position. |
Vector3 | normal | The normal. |
Returns
Type | Description |
---|---|
float | The impulse denominator. |
GetVelocityInLocalPoint(Vector3)
Gets the velocity at a local point of the rigid body.
Declaration
Vector3 GetVelocityInLocalPoint(Vector3 relativePosition)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | relativePosition | The relative position. |
Returns
Type | Description |
---|---|
Vector3 | The velocity at the specified point. |
IntegrateVelocities(float)
Integrates velocities.
Declaration
void IntegrateVelocities(float step)
Parameters
Type | Name | Description |
---|---|---|
float | step | Delta time. |
ResetMassProperty(float, Vector3)
Resets the mass property.
Declaration
void ResetMassProperty(float mass, Vector3 inertia)
Parameters
Type | Name | Description |
---|---|---|
float | mass | The mass. |
Vector3 | inertia | The inertia. |
SetDamping(float, float)
Sets damping values.
Declaration
void SetDamping(float linearDamping, float angularDamping)
Parameters
Type | Name | Description |
---|---|---|
float | linearDamping | Linear damping value. |
float | angularDamping | Angular damping value. |
SetSleepingThresholds(float, float)
Sets sleeping threshold values.
Declaration
void SetSleepingThresholds(float linear, float angular)
Parameters
Type | Name | Description |
---|---|---|
float | linear | Linear threshold value. |
float | angular | Angular threshold value. |
UpdateDeactivation(float)
Updates the deactivation.
Declaration
void UpdateDeactivation(float step)
Parameters
Type | Name | Description |
---|---|---|
float | step | The time step. |
UpdateInertiaTensor()
Updates the inertia tensor.
Declaration
void UpdateInertiaTensor()
WakeUp()
Wakes up the rigid body.
Declaration
void WakeUp()
WantsSleeping()
Returns whether the entity needs to sleep.
Declaration
bool WantsSleeping()
Returns
Type | Description |
---|---|
bool | The rigid body needs to sleep. |