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

Summary

Actions Summary Table

ActionsDescription
Compare(Libraries.Language.Object object)This action compares two object hash codes and returns an integer.
Equals(Libraries.Language.Object object)This action determines if two objects are equal based on their hash code values.
GetHashCode()This action gets the hash code for an object.
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.
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.
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.
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.

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.

Example Code

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

Parameters

Return

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

Equals(Libraries.Language.Object object)

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

Example Code

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

Parameters

Return

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

GetHashCode()

This action gets the hash code for an object.

Example Code

Object o
        integer hash = o:GetHashCode()

Return

integer: The integer hash code of the object.

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: