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
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
- Libraries.Language.Object: The object to compare to.
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
- Libraries.Language.Object: The to be compared.
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
- Libraries.Interface.Item3D
- Libraries.Compute.Vector3
- Libraries.Interface.Item3D
- Libraries.Compute.Vector3
- Libraries.Compute.Vector3
- Libraries.Containers.Array
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
- Libraries.Interface.Item3D
- Libraries.Interface.Item3D
- Libraries.Game.Collision.CollisionPoint3D
- Libraries.Game.Physics.CollisionSolverInformation3D
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
- Libraries.Interface.Item3D
- Libraries.Interface.Item3D
- Libraries.Game.Collision.CollisionPoint3D
- Libraries.Game.Physics.CollisionSolverInformation3D
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
- Libraries.Interface.Item3D
- Libraries.Interface.Item3D
- Libraries.Game.Collision.CollisionPoint3D
- Libraries.Game.Physics.CollisionSolverInformation3D
Return
number: