RigidBody¶
-
class
RigidBody
: System.Object, IBroadphaseEntity, IDebugDrawable, System.IEquatable<RigidBody>, System.IComparable<RigidBody> The RigidBody class.
-
bool
IsParticle
If true, the body as no angular movement.
-
readonly Jitter.DataStructures.ReadOnlyHashset<Arbiter>
Arbiters
-
readonly Jitter.DataStructures.ReadOnlyHashset<Constraint>
Constraints
-
bool
AllowDeactivation
If set to false the body will never be deactived by the world.
-
bool
EnableSpeculativeContacts
-
readonly JBBox
BoundingBox
The axis aligned bounding box of the body.
-
readonly CollisionIsland
CollisionIsland
Gets the current collision island the body is in.
-
bool
IsActive
If set to false the velocity is set to zero, the body gets immediately freezed.
-
readonly JVector
Torque
Returns the torque which acts this timestep on the body.
-
JVector
Force
Returns the force which acts this timestep on the body.
-
System.Object
Tag
Allows to set a user defined value to the body.
-
System.WeakReference<Object>
WeakTag
Allows to set a weakly referenced user defined value to the body.
-
readonly System.Object
WeakTagOrNull
Returns the value assigned in P:Jitter.Dynamics.RigidBody.WeakTag or null if it is garbage collected or unset.
-
Shape
Shape
The shape the body is using.
-
Jitter.Dynamics.DampingType
Damping
-
Material
Material
-
readonly JMatrix
Inertia
The inertia currently used for this body.
-
readonly JMatrix
InverseInertia
The inverse inertia currently used for this body.
-
JVector
LinearVelocity
The velocity of the body.
-
JVector
AngularVelocity
The angular velocity of the body.
-
JVector
Position
The current position of the body.
-
JMatrix
Orientation
The current oriention of the body.
-
bool
IsStatic
If set to true the body can’t be moved.
-
bool
AffectedByGravity
-
readonly JMatrix
InverseInertiaWorld
The inverse inertia tensor in world space.
-
float
Mass
Setting the mass automatically scales the inertia. To set the mass indepedently from the mass use SetMassProperties.
-
int
BroadphaseTag
-
readonly bool
IsStaticOrInactive
-
bool
EnableDebugDraw
-
bool
PureCollider
-
public int
GetHashCode
() Calculates a hashcode for this RigidBody. The hashcode should be unique as possible for every body.
Returns: The hashcode.
-
public void
ApplyImpulse
(JVector impulse) Applies an impulse on the center of the body. Changing linear velocity.
Parameters: - impulse (Jitter.LinearMath.JVector) – Impulse direction and magnitude.
-
public void
ApplyImpulse
(JVector impulse, JVector relativePosition) Applies an impulse on the specific position. Changing linear and angular velocity.
Parameters: - impulse (Jitter.LinearMath.JVector) – Impulse direction and magnitude.
- relativePosition (Jitter.LinearMath.JVector) –
- The position where the impulse gets applied
- in Body coordinate frame.
-
public void
AddForce
(JVector force) Adds a force to the center of the body. The force gets applied the next time :World.Step is called. The ‘impact’ of the force depends on the time it is applied to a body - so the timestep influences the energy added to the body.
Parameters: - force (Jitter.LinearMath.JVector) – The force to add next :World.Step.
-
public void
AddForce
(JVector force, JVector pos) Adds a force to the center of the body. The force gets applied the next time :World.Step is called. The ‘impact’ of the force depends on the time it is applied to a body - so the timestep influences the energy added to the body.
Parameters: - force (Jitter.LinearMath.JVector) – The force to add next :World.Step.
- pos (Jitter.LinearMath.JVector) – The position where the force is applied.
-
public void
AddTorque
(JVector torque) Adds torque to the body. The torque gets applied the next time :World.Step is called. The ‘impact’ of the torque depends on the time it is applied to a body - so the timestep influences the energy added to the body.
Parameters: - torque (Jitter.LinearMath.JVector) – The torque to add next :World.Step.
-
public void
SetMassProperties
() By calling this method the shape inertia and mass is used.
-
public void
SetMassProperties
(JMatrix inertia, float mass, bool setAsInverseValues) The engine used the given values for inertia and mass and ignores the shape mass properties.
Parameters: - inertia (Jitter.LinearMath.JMatrix) – The inertia/inverse inertia of the untransformed object.
- mass (float) – The mass/inverse mass of the object.
- setAsInverseValues (bool) –
- Sets the InverseInertia and the InverseMass
- to this values.
-
public void
SweptExpandBoundingBox
(float timestep) Parameters: - timestep (float) –
-
public void
Update
() Recalculates the axis aligned bounding box and the inertia values in world space.
-
public bool
Equals
(RigidBody other) Parameters: - other (Jitter.Dynamics.RigidBody) –
-
public int
CompareTo
(RigidBody other) Parameters: - other (Jitter.Dynamics.RigidBody) –
-
public void
PreStep
(float timestep) Parameters: - timestep (float) –
-
public void
PostStep
(float timestep) Parameters: - timestep (float) –
-
public void
DebugDraw
(IDebugDrawer drawer) Parameters: - drawer (Jitter.IDebugDrawer) –
-
bool