Libraries.Game.Collision.Shapes.Circle Documentation

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

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

Summary

Actions Summary Table

ActionsDescription
Compare(Libraries.Language.Object object)This action compares two object hash codes and returns an integer.
ComputeArea()This action calculates the area of the circl
ComputeBoundingBox(Libraries.Game.Collision.BoundingBox2D boundingBox, Libraries.Game.Collision.PhysicsPosition2D transform, integer childIndex)returns the distance of the point relative to the outside edges of the circ
ComputeDistance(Libraries.Game.Collision.PhysicsPosition2D transform, Libraries.Compute.Vector2 point, integer childIndex, Libraries.Compute.Vector2 normalOut)if the length()^2 <= radius^2, then that means that vector lies inside the circ
ComputeMass(Libraries.Game.Physics.Mass2D mass, number density)This action calculates the mass of the circle.
Copy()This action creates a copy of another circle shape using the properties of the current circle propertie
Equals(Libraries.Language.Object object)This action determines if two objects are equal based on their hash code values.
GetChildCount()Because a circle is a primitive shape, therefore, it is its own child (think of it as a circle makes up a circle
GetHashCode()This action gets the hash code for an object.
GetRadius()This action returns the radius of the shape.
GetSupportVertex()This action returns the centroid of the circle relative to the circle's local coordinate
GetType()This action gets the type of the shape that is used to collide with another 2D shap
GetVertex(integer index)This action returns the centroid of the circle relative to the circle's local coordinate
GetVertexCount()This action returns 1 for a circl
Scale(number scaleX, number scaleY)Because we don't want to change a circle into an oval shape, so this action will use the first number that you passed in to change the size of the circle so that the circle will still be a circle after the chang
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)This action tests if a point of interest is inside the circular shape.

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.

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 calculates the area of the circl

Return

number:

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

returns the distance of the point relative to the outside edges of the circ

Parameters

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

if the length()^2 <= radius^2, then that means that vector lies inside the circ

Parameters

Return

number:

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

This action calculates the mass of the circle. The action assumes that the density of the circle is constant at every point on the circle, therefore, the center of mass of the circle is just at the center of the circl

Parameters

Copy()

This action creates a copy of another circle shape using the properties of the current circle propertie

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.

GetChildCount()

Because a circle is a primitive shape, therefore, it is its own child (think of it as a circle makes up a circle

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.

GetRadius()

This action returns the radius of the shape.

Return

number:

GetSupportVertex()

This action returns the centroid of the circle relative to the circle's local coordinate

Return

Libraries.Compute.Vector2:

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 returns the centroid of the circle relative to the circle's local coordinate

Parameters

Return

Libraries.Compute.Vector2:

GetVertexCount()

This action returns 1 for a circl

Return

integer:

Scale(number scaleX, number scaleY)

Because we don't want to change a circle into an oval shape, so this action will use the first number that you passed in to change the size of the circle so that the circle will still be a circle after the chang

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)

This action tests if a point of interest is inside the circular shape.

Parameters

Return

boolean: