Libraries.Game.Physics.CollisionConstraint3D Documentation

This class contains many actions that will help with solving the constraints that a collision has. This class is used internally.

Inherits from: Libraries.Language.Object

Actions Documentation

Compare(Libraries.Language.Object object)

This action compares two object hash codes and returns an integer. The result is larger if this hash code is larger than the object passed as a parameter, smaller, or equal. In this case, -1 means smaller, 0 means equal, and 1 means larger. This action was changed in Quorum 7 to return an integer, instead of a CompareResult object, because the previous implementation was causing efficiency issues.

Parameters

Return

integer: The Compare result, Smaller, Equal, or Larger.

Example

Object o
Object t
integer result = o:Compare(t) //1 (larger), 0 (equal), or -1 (smaller)

Equals(Libraries.Language.Object object)

This action determines if two objects are equal based on their hash code values.

Parameters

Return

boolean: True if the hash codes are equal and false if they are not equal.

Example

use Libraries.Language.Object
use Libraries.Language.Types.Text
Object o
Text t
boolean result = o:Equals(t)

GetHashCode()

This action gets the hash code for an object.

Return

integer: The integer hash code of the object.

Example

Object o
integer hash = o:GetHashCode()

ResolveSingleBilateralConstraint(Libraries.Interface.Item3D body1, Libraries.Compute.Vector3 position1, Libraries.Interface.Item3D body2, Libraries.Compute.Vector3 position2, number distance, Libraries.Compute.Vector3 normal, Libraries.Containers.Array<number> impulse, number timeStep)

This action is used to solve for the impulse that should be applied to a rolling object.

Parameters

ResolveSingleCollision(Libraries.Interface.Item3D body1, Libraries.Interface.Item3D body2, Libraries.Game.Collision.CollisionPoint3D contactPoint, Libraries.Game.Physics.CollisionSolverInformation3D solverInfo)

This action finds the normal impulse that should be applied to bodies that will separate them apart. This action takes into account of the friction between the two objects.

Parameters

Return

number:

ResolveSingleCollisionCombined(Libraries.Interface.Item3D body1, Libraries.Interface.Item3D body2, Libraries.Game.Collision.CollisionPoint3D contactPoint, Libraries.Game.Physics.CollisionSolverInformation3D solverInfo)

This action finds the impulse that should be applied to separate the two objects colliding based on the friction between the two objects and their linear velocity.

Parameters

Return

number:

ResolveSingleFriction(Libraries.Interface.Item3D body1, Libraries.Interface.Item3D body2, Libraries.Game.Collision.CollisionPoint3D contactPoint, Libraries.Game.Physics.CollisionSolverInformation3D solverInfo)

This action finds the impulse that should be applied to simulate friction between the surfaces of two colliding objects.

Parameters

Return

number: