Libraries.Game.Collision.Narrowphase.ConvexConvexCollisionSolverResults Documentation

This class stores the result from a collision of two convex shapes. This class is used by ConvexConvexCollisionSolver.

Inherits from: Libraries.Language.Object

Variables Table

VariablesDescription
integer SEPARATED
integer PENETRATION_FAILED
integer PENETRATING
integer DISTANCE_FAILED

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)

GetDepth()

This action returns the depth of penetration when two objects collide.

Return

number:

GetDistanceIterations()

This action returns how many iterations that the distance solver has been in use.

Return

integer:

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()

GetNormal()

This action returns the direction that you should move the objects so that they are not penetrating anymore.

Return

Libraries.Compute.Vector3:

GetPenetrationIterations()

This action returns how many iterations that the penetration solver has been in use.

Return

integer:

GetStatus()

This action returns whether the two objects have penetrated, separated, or if any of the distance or penetration solvers have failed.

Return

integer:

GetWitness()

This action gets an array that stores the closest points of two colliding objects relative to each other.

Return

Libraries.Containers.Array:

SetDepth(number depth)

This action sets the depth of penetration when two objects collide.

Parameters

  • number depth

SetDistanceIterations(integer iterations)

This action sets how many iterations that the distance solver has been in use.

Parameters

  • integer iterations

SetNormal(Libraries.Compute.Vector3 normal)

This action sets the direction that you should move the objects so that they are not penetrating anymore.

Parameters

SetPenetrationIterations(integer iterations)

This action sets how many iterations that the penetration solver has been in use.

Parameters

  • integer iterations

SetStatus(integer status)

This action sets whether the two objects have penetrated, separated, or if any of the distance or penetration solvers have failed.

Parameters

  • integer status