Libraries.Game.Physics.CollisionSolver2D Documentation

This class is a calculation tool that updates an object's impulse to move the object around.

Inherits from: Libraries.Language.Object

Summary

Actions Summary Table

ActionsDescription
Compare(Libraries.Language.Object object)This action compares two object hash codes and returns a CompareResult.
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.
Initialize()This action initializes the arrays that are inside this CollisionSolver2D class.
InitializeVelocityConstraints()This action stores all of the velocity constraints.
SetAnglesList(Libraries.Containers.Array<number> anglesList)This action sets a list of the target tilt of each object at the end of the current physics step relative to the global coordinates.
SetAngularVelocitiesList(Libraries.Containers.Array<number> angularVelocitiesList)This action sets a list of angular velocities of each object.
SetCollisionList(Libraries.Containers.Array<Libraries.Interface.Events.CollisionEvent2D> collisionList)This action allows the solver to know how many collision has happened during the current physics step by passing in an array of CollisionEvent2D.
SetLinearVelocitiesList(Libraries.Containers.Array<Libraries.Compute.Vector2> linearVelocitiesList)This action sets a list of linear velocities of each object currently with respect to the global coordinates.
SetPositionsList(Libraries.Containers.Array<Libraries.Compute.Vector2> positionsList)This action sets a list of the target center of each objects at the end of the current physics step relative to the global coordinates.
SetTimeStep(Libraries.Game.Physics.TimeStep timeStep)This action sets the timeStep of this CollisionSolver2D using another timeStep that is passed in.
SolvePositionConstraints()This action makes sure that all of the position constraints are met.
SolveTimeOfImpactPositionConstraints(integer timeOfImpactIndexA, integer timeOfImpactIndexB)This action calculates when the two objects will collide, and makes sure that these two objects don't penetrate each other.
SolveVelocityConstraints()This action makes sure that all of the velocity constraints are met.
StoreImpulses()This action stores the impulses that will satisfy the velocity constraints.
WarmStart()This action solves the collision using an initial guess.

Actions Documentation

Compare(Libraries.Language.Object object)

This action compares two object hash codes and returns a CompareResult. The compare result is either larger if this hash code is larger than the object passed as a parameter, smaller, or equal.

Example Code

use Libraries.Language.Support.CompareResult
        Object o
        Object t
        CompareResult result = o:Compare(t)

Parameters

Return

Libraries.Language.Support.CompareResult: 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.

Initialize()

This action initializes the arrays that are inside this CollisionSolver2D class.

InitializeVelocityConstraints()

This action stores all of the velocity constraints.

SetAnglesList(Libraries.Containers.Array<number> anglesList)

This action sets a list of the target tilt of each object at the end of the current physics step relative to the global coordinates.

Parameters

SetAngularVelocitiesList(Libraries.Containers.Array<number> angularVelocitiesList)

This action sets a list of angular velocities of each object.

Parameters

SetCollisionList(Libraries.Containers.Array<Libraries.Interface.Events.CollisionEvent2D> collisionList)

This action allows the solver to know how many collision has happened during the current physics step by passing in an array of CollisionEvent2D.

Parameters

SetLinearVelocitiesList(Libraries.Containers.Array<Libraries.Compute.Vector2> linearVelocitiesList)

This action sets a list of linear velocities of each object currently with respect to the global coordinates.

Parameters

SetPositionsList(Libraries.Containers.Array<Libraries.Compute.Vector2> positionsList)

This action sets a list of the target center of each objects at the end of the current physics step relative to the global coordinates.

Parameters

SetTimeStep(Libraries.Game.Physics.TimeStep timeStep)

This action sets the timeStep of this CollisionSolver2D using another timeStep that is passed in.

Parameters

SolvePositionConstraints()

This action makes sure that all of the position constraints are met.

Return

boolean:

SolveTimeOfImpactPositionConstraints(integer timeOfImpactIndexA, integer timeOfImpactIndexB)

This action calculates when the two objects will collide, and makes sure that these two objects don't penetrate each other.

Parameters

Return

boolean:

SolveVelocityConstraints()

This action makes sure that all of the velocity constraints are met.

StoreImpulses()

This action stores the impulses that will satisfy the velocity constraints.

WarmStart()

This action solves the collision using an initial guess.