Interface IRigidBody3D
Interface for RigidBody of 3D physics.
Inherited Members
Namespace: Evergine.Framework.Physics3D
Assembly: Evergine.Framework.dll
Syntax
public interface IRigidBody3D : IPhysicBody3D, IDisposable
  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 is use 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 sleeping 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 position.
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 that 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 or kinematic.
Declaration
bool IsStaticOrKinematicObject { get; }
  Property Value
| Type | Description | 
|---|---|
| bool | 
LinearDamping
Gets the Linear damping is use 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 sleeping 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)
Apply a central force to the rigid body.
Declaration
void ApplyCentralForce(Vector3 force)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Vector3 | force | The force.  | 
      
ApplyCentralImpulse(Vector3)
Apply an impulse to the center of the rigid body.
Declaration
void ApplyCentralImpulse(Vector3 impulse)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Vector3 | impulse | The impulse.  | 
      
ApplyDamping(float)
Apply 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 poosition of the point where the force will be applied.  | 
      
ApplyGravity()
Apply 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 poosition of the point where the force will be applied.  | 
      
ApplyTorque(Vector3)
Apply a torque force to the rigid body.
Declaration
void ApplyTorque(Vector3 torque)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Vector3 | torque | The torque.  | 
      
ApplyTorqueImpulse(Vector3)
Apply torque impulse to the rigid body.
Declaration
void ApplyTorqueImpulse(Vector3 torque)
  Parameters
| Type | Name | Description | 
|---|---|---|
| Vector3 | torque | The torque impulse.  | 
      
ClearForces()
Clear all forces applied to the rigid body.
Declaration
void ClearForces()
  ComputeAngularImpulseDenominator(Vector3)
Compute 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 gyrocsopic impulse implicit.
Declaration
Vector3 ComputeGyroscopicForceExplicit(float step)
  Parameters
| Type | Name | Description | 
|---|---|---|
| float | step | The step.  | 
      
Returns
| Type | Description | 
|---|---|
| Vector3 | The Gyroscopic impulse.  | 
      
ComputeGyroscopicImpulseImplicit_Body(float)
Compute the gyrocsopic impulse implicit by 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)
Compute the gyrocsopic impulse implicit by 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)
Compute impulse dominator.
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 in 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 in the specified point.  | 
      
IntegrateVelocities(float)
Integrate velocities.
Declaration
void IntegrateVelocities(float step)
  Parameters
| Type | Name | Description | 
|---|---|---|
| float | step | Delta time.  | 
      
ResetMassProperty(float, Vector3)
Reset 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)
Set 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)
Set 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)
Update the deactivation.
Declaration
void UpdateDeactivation(float step)
  Parameters
| Type | Name | Description | 
|---|---|---|
| float | step | The time step.  | 
      
UpdateInertiaTensor()
Update the inertia tensor.
Declaration
void UpdateInertiaTensor()
  WakeUp()
Wake up the rigid body.
Declaration
void WakeUp()
  WantsSleeping()
Return if the entity need to sleep.
Declaration
bool WantsSleeping()
  Returns
| Type | Description | 
|---|---|
| bool | The rigid body need to sleep.  |