Libraries.Game.Collision.Narrowphase.ConvexConvexPenetrationSolver Documentation

This class contains actions that will help solve how much one shape has penetrated into another shap

Inherits from: Libraries.Language.Object

Summary

Actions Summary Table

ActionsDescription
BuildHorizon(integer markid, Libraries.Game.Collision.Narrowphase.ConvexConvexVertex w, Libraries.Game.Collision.Narrowphase.ConvexConvexFace f, integer e, Libraries.Containers.Array<Libraries.Game.Collision.Narrowphase.ConvexConvexFace> cf, Libraries.Containers.Array<Libraries.Game.Collision.Narrowphase.ConvexConvexFace> ff)This action builds a polytope that will be used to calculate the direction that we will need to separate the two colliding objects (penetration direction
Compare(Libraries.Language.Object object)This action compares two object hash codes and returns an integer.
Detach(Libraries.Game.Collision.Narrowphase.ConvexConvexFace face)This action deletes a face of a polyhedro
Equals(Libraries.Language.Object object)This action determines if two objects are equal based on their hash code values.
EvaluatePenetrationDepth()This action finds how much did one object has penetrated into another objec
EvaluatePenetrationDepth(number accuracy)This action finds how much did one object has penetrated into another objec
Failed()This action returns whether if the penetration solver has successfully found a direction that you should push the two objects so that they are not penetrating anymor
FindBest()This action returns the face that is closest to a point of interes
GetCoordinates(Libraries.Game.Collision.Narrowphase.ConvexConvexFace face, Libraries.Compute.Vector3 out)This action finds where the point of interest is relative to a fac
GetHashCode()This action gets the hash code for an object.
GetIterations()This action returns how many iterations did this solver run fo
GetNearest()This action returns the vertices that makes up a face of a polyhedron that is closest to the origi
GetNormal()This action returns the direction that you need to push the two objects away to separate the two object
Link(Libraries.Game.Collision.Narrowphase.ConvexConvexFace f0, integer e0, Libraries.Game.Collision.Narrowphase.ConvexConvexFace f1, integer e1)This action links two faces of a polyhedron togethe
NewFace(Libraries.Game.Collision.Narrowphase.ConvexConvexVertex a, Libraries.Game.Collision.Narrowphase.ConvexConvexVertex b, Libraries.Game.Collision.Narrowphase.ConvexConvexVertex c)This action creates a new face using the 3 vertices that is passed i
Set(Libraries.Game.Collision.Narrowphase.ConvexConvexDistanceSolver gjk)This action connects this ConvexConvexPenetrationSolver to a ConvexConvexDistanceSolve
Set(Libraries.Game.Collision.Narrowphase.ConvexConvexFace f, Libraries.Game.Collision.Narrowphase.ConvexConvexVertex a, Libraries.Game.Collision.Narrowphase.ConvexConvexVertex b, Libraries.Game.Collision.Narrowphase.ConvexConvexVertex c)This action sets up the convex face that is made up of the 3 vertices that you passed in and returning if these 3 vertices can actually make up a fac
Support(Libraries.Compute.Vector3 w)This action finds the support for

Actions Documentation

BuildHorizon(integer markid, Libraries.Game.Collision.Narrowphase.ConvexConvexVertex w, Libraries.Game.Collision.Narrowphase.ConvexConvexFace f, integer e, Libraries.Containers.Array<Libraries.Game.Collision.Narrowphase.ConvexConvexFace> cf, Libraries.Containers.Array<Libraries.Game.Collision.Narrowphase.ConvexConvexFace> ff)

This action builds a polytope that will be used to calculate the direction that we will need to separate the two colliding objects (penetration direction

Parameters

Return

integer:

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

Parameters

Return

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

Detach(Libraries.Game.Collision.Narrowphase.ConvexConvexFace face)

This action deletes a face of a polyhedro

Parameters

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(

Parameters

Return

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

EvaluatePenetrationDepth()

This action finds how much did one object has penetrated into another objec

Return

number:

EvaluatePenetrationDepth(number accuracy)

This action finds how much did one object has penetrated into another objec

Parameters

Return

number:

Failed()

This action returns whether if the penetration solver has successfully found a direction that you should push the two objects so that they are not penetrating anymor

Return

boolean:

FindBest()

This action returns the face that is closest to a point of interes

Return

Libraries.Game.Collision.Narrowphase.ConvexConvexFace:

GetCoordinates(Libraries.Game.Collision.Narrowphase.ConvexConvexFace face, Libraries.Compute.Vector3 out)

This action finds where the point of interest is relative to a fac

Parameters

Return

Libraries.Compute.Vector3:

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.

GetIterations()

This action returns how many iterations did this solver run fo

Return

integer:

GetNearest()

This action returns the vertices that makes up a face of a polyhedron that is closest to the origi

Return

Libraries.Containers.Array:

GetNormal()

This action returns the direction that you need to push the two objects away to separate the two object

Return

Libraries.Compute.Vector3:

Link(Libraries.Game.Collision.Narrowphase.ConvexConvexFace f0, integer e0, Libraries.Game.Collision.Narrowphase.ConvexConvexFace f1, integer e1)

This action links two faces of a polyhedron togethe

Parameters

NewFace(Libraries.Game.Collision.Narrowphase.ConvexConvexVertex a, Libraries.Game.Collision.Narrowphase.ConvexConvexVertex b, Libraries.Game.Collision.Narrowphase.ConvexConvexVertex c)

This action creates a new face using the 3 vertices that is passed i

Parameters

Return

Libraries.Game.Collision.Narrowphase.ConvexConvexFace:

Set(Libraries.Game.Collision.Narrowphase.ConvexConvexDistanceSolver gjk)

This action connects this ConvexConvexPenetrationSolver to a ConvexConvexDistanceSolve

Parameters

Set(Libraries.Game.Collision.Narrowphase.ConvexConvexFace f, Libraries.Game.Collision.Narrowphase.ConvexConvexVertex a, Libraries.Game.Collision.Narrowphase.ConvexConvexVertex b, Libraries.Game.Collision.Narrowphase.ConvexConvexVertex c)

This action sets up the convex face that is made up of the 3 vertices that you passed in and returning if these 3 vertices can actually make up a fac

Parameters

Return

boolean:

Support(Libraries.Compute.Vector3 w)

This action finds the support for

Parameters

Return

Libraries.Game.Collision.Narrowphase.ConvexConvexVertex: