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
Variables Table
Variables | Description |
---|---|
integer MAXIMUM_POLYGON_VERTICES |
Actions Documentation
Centroid(Libraries.Game.Collision.PhysicsPosition2D transform)
This action returns the centroid of the polygon in the global coordinates.
Parameters
Return
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
- Libraries.Language.Object: The object to compare to.
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)
ComputeArea()
This action computes the area of the polygon based on the geometry of the polygon that is stored inside this Polygon class.
Return
number:
ComputeBoundingBox(Libraries.Game.Collision.BoundingBox2D boundingBox, Libraries.Game.Collision.PhysicsPosition2D transform, integer childIndex)
This action calculates the BoundingBox2D for the polygon shape.
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 polygon.
Parameters
- Libraries.Containers.Array
- integer count
Return
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 polygon.
Parameters
- Libraries.Game.Collision.PhysicsPosition2D
- Libraries.Compute.Vector2
- integer childIndex
- Libraries.Compute.Vector2
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 polygon.
Parameters
- Libraries.Game.Physics.Mass2D
- number density
Copy()
This action sets another polygon shape using the current polygon shape.
Return
Equals(Libraries.Language.Object object)
This action determines if two objects are equal based on their hash code values.
Parameters
- Libraries.Language.Object: The to be compared.
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)
GetCentroid()
This action returns the centroid of the polygon in the local coordinates of that polygon.
Return
GetChildCount()
Because each polygon can be seen as an primitive shape, therefore, a polygon is its own child and parent.
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()
GetNormals()
This action returns all of the normals to the edges of the current polygon.
Return
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 shape.
Return
integer:
GetVertex(integer index)
This action gets the point at which the vertex of interest is at.
Parameters
- integer index
Return
GetVertexCount()
This action returns how many vertices the polygon has.
Return
integer:
GetVertices()
IsBox()
This action returns whether the polygon is a box or not.
Return
boolean:
Scale(number scaleX, number scaleY)
This action shrinks or expands the polygon shape.
Parameters
- number scaleX
- number scaleY
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 passed.
Parameters
- Libraries.Containers.Array
- integer count
SetAsBox(number width, number height)
This action sets the polygon shape to an untilted box centered at the origin.
Parameters
- number width
- number height
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 angle.
Parameters
- number width
- number height
- Libraries.Compute.Vector2
- number angle
SetRadius(number radius)
This action sets the radius of the shape.
Parameters
- number radius
SetType(integer type)
This action sets the type of the shape that will be used to collide with another 2D shape.
Parameters
- integer type
TestPoint(Libraries.Game.Collision.PhysicsPosition2D transform, Libraries.Compute.Vector2 point)
Parameters
- Libraries.Game.Collision.PhysicsPosition2D
- Libraries.Compute.Vector2: The point of interest in global coordinates.
Return
boolean:
Validate()
This action checks whether the polygon is convex.
Return
boolean:
On this page
Variables TableAction Documentation- Centroid(Libraries.Game.Collision.PhysicsPosition2D transform)
- Compare(Libraries.Language.Object object)
- ComputeArea()
- ComputeBoundingBox(Libraries.Game.Collision.BoundingBox2D boundingBox, Libraries.Game.Collision.PhysicsPosition2D transform, integer childIndex)
- ComputeCentroid(Libraries.Containers.Array
vectors, integer count) - ComputeDistance(Libraries.Game.Collision.PhysicsPosition2D transform, Libraries.Compute.Vector2 point, integer childIndex, Libraries.Compute.Vector2 normalOut)
- ComputeMass(Libraries.Game.Physics.Mass2D mass, number density)
- Copy()
- Equals(Libraries.Language.Object object)
- GetCentroid()
- GetChildCount()
- GetHashCode()
- GetNormals()
- GetRadius()
- GetType()
- GetVertex(integer index)
- GetVertexCount()
- GetVertices()
- IsBox()
- Scale(number scaleX, number scaleY)
- Set(Libraries.Containers.Array
passedVertices, integer count) - SetAsBox(number width, number height)
- SetAsBox(number width, number height, Libraries.Compute.Vector2 center, number angle)
- SetRadius(number radius)
- SetType(integer type)
- TestPoint(Libraries.Game.Collision.PhysicsPosition2D transform, Libraries.Compute.Vector2 point)
- Validate()