Libraries.Game.Collision.Shapes.Polygon Documentation

This class extends the CollisionShape2D by rewritting specific actions that are blueprint actions in CollisionShape2D for the shape of a polygon. This class records all of the geometric properties that a polygon should have. To display the polygon with the properties that you've set, you have to use "Libraries.Game.Graphics.Drawable

Inherits from: Libraries.Game.Collision.Shapes.CollisionShape2D, Libraries.Language.Object

Summary

Variable Summary Table

VariablesDescription
integer MAXIMUM_POLYGON_VERTICES

Actions Summary Table

ActionsDescription
Centroid(Libraries.Game.Collision.PhysicsPosition2D transform)This action returns the centroid of the polygon in the global coordinate
Compare(Libraries.Language.Object object)This action compares two object hash codes and returns an integer.
ComputeArea()This action computes the area of the polygon based on the geometry of the polygon that is stored inside this Polygon clas
ComputeBoundingBox(Libraries.Game.Collision.BoundingBox2D boundingBox, Libraries.Game.Collision.PhysicsPosition2D transform, integer childIndex)This action calculates the BoundingBox2D for the polygon shap
ComputeCentroid(Libraries.Containers.Array<Libraries.Compute.Vector2> vectors, integer count)This action finds the centroid of the polygon based on the geometry of the polygo
ComputeDistance(Libraries.Game.Collision.PhysicsPosition2D transform, Libraries.Compute.Vector2 point, integer childIndex, Libraries.Compute.Vector2 normalOut)This action finds the closest distance between the point of interest and the polygo
ComputeMass(Libraries.Game.Physics.Mass2D mass, number density)This action finds ths mass and mass rotational of inertia of the polygon based on the density of the polygon passed in and the geometry of the polygo
Copy()This action sets another polygon shape using the current polygon shap
Equals(Libraries.Language.Object object)This action determines if two objects are equal based on their hash code values.
GetCentroid()This action returns the centroid of the polygon in the local coordinates of that polygo
GetChildCount()Because each polygon can be seen as an primitive shape, therefore, a polygon is its own child and paren
GetHashCode()This action gets the hash code for an object.
GetNormals()This action returns all of the normals to the edges of the current polygo
GetRadius()This action returns the radius of the shape.
GetType()This action gets the type of the shape that is used to collide with another 2D shap
GetVertex(integer index)This action gets the point at which the vertex of interest is a
GetVertexCount()This action returns how many vertices the polygon ha
GetVertices()This action returns all of the vertices of the current polygo
IsBox()This action returns whether the polygon is a box or no
Scale(number scaleX, number scaleY)This action shrinks or expands the polygon shap
Set(Libraries.Containers.Array<Libraries.Compute.Vector2> passedVertices, integer count)This action records the passed vertices to this class and also calculate the normal vectors to the edges from the polygon created using the vertices passe
SetAsBox(number width, number height)This action sets the polygon shape to an untilted box centered at the origi
SetAsBox(number width, number height, Libraries.Compute.Vector2 center, number angle)This action creates a polygon as a rectangle with present center point and tilted angl
SetRadius(number radius)This action sets the radius of the shap
SetType(integer type)This action sets the type of the shape that will be used to collide with another 2D shap
TestPoint(Libraries.Game.Collision.PhysicsPosition2D transform, Libraries.Compute.Vector2 point)
Validate()This action checks whether the polygon is conve

Actions Documentation

Centroid(Libraries.Game.Collision.PhysicsPosition2D transform)

This action returns the centroid of the polygon in the global coordinate

Parameters

Return

Libraries.Compute.Vector2:

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.

ComputeArea()

This action computes the area of the polygon based on the geometry of the polygon that is stored inside this Polygon clas

Return

number:

ComputeBoundingBox(Libraries.Game.Collision.BoundingBox2D boundingBox, Libraries.Game.Collision.PhysicsPosition2D transform, integer childIndex)

This action calculates the BoundingBox2D for the polygon shap

Parameters

ComputeCentroid(Libraries.Containers.Array<Libraries.Compute.Vector2> vectors, integer count)

This action finds the centroid of the polygon based on the geometry of the polygo

Parameters

Return

Libraries.Compute.Vector2:

ComputeDistance(Libraries.Game.Collision.PhysicsPosition2D transform, Libraries.Compute.Vector2 point, integer childIndex, Libraries.Compute.Vector2 normalOut)

This action finds the closest distance between the point of interest and the polygo

Parameters

Return

number:

ComputeMass(Libraries.Game.Physics.Mass2D mass, number density)

This action finds ths mass and mass rotational of inertia of the polygon based on the density of the polygon passed in and the geometry of the polygo

Parameters

Copy()

This action sets another polygon shape using the current polygon shap

Return

Libraries.Game.Collision.Shapes.CollisionShape2D:

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.

GetCentroid()

This action returns the centroid of the polygon in the local coordinates of that polygo

Return

Libraries.Compute.Vector2:

GetChildCount()

Because each polygon can be seen as an primitive shape, therefore, a polygon is its own child and paren

Return

integer:

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.

GetNormals()

This action returns all of the normals to the edges of the current polygo

Return

Libraries.Containers.Array:

GetRadius()

This action returns the radius of the shape.

Return

number:

GetType()

This action gets the type of the shape that is used to collide with another 2D shap

Return

integer:

GetVertex(integer index)

This action gets the point at which the vertex of interest is a

Parameters

Return

Libraries.Compute.Vector2:

GetVertexCount()

This action returns how many vertices the polygon ha

Return

integer:

GetVertices()

This action returns all of the vertices of the current polygo

Return

Libraries.Containers.Array:

IsBox()

This action returns whether the polygon is a box or no

Return

boolean:

Scale(number scaleX, number scaleY)

This action shrinks or expands the polygon shap

Parameters

Set(Libraries.Containers.Array<Libraries.Compute.Vector2> passedVertices, integer count)

This action records the passed vertices to this class and also calculate the normal vectors to the edges from the polygon created using the vertices passe

Parameters

SetAsBox(number width, number height)

This action sets the polygon shape to an untilted box centered at the origi

Parameters

SetAsBox(number width, number height, Libraries.Compute.Vector2 center, number angle)

This action creates a polygon as a rectangle with present center point and tilted angl

Parameters

SetRadius(number radius)

This action sets the radius of the shap

Parameters

SetType(integer type)

This action sets the type of the shape that will be used to collide with another 2D shap

Parameters

TestPoint(Libraries.Game.Collision.PhysicsPosition2D transform, Libraries.Compute.Vector2 point)

Parameters

Return

boolean:

Validate()

This action checks whether the polygon is conve

Return

boolean: