GCubeSDK
©2026 FenixFox®Studios

Box2

Class representing an axis-aligned bounding box (AABB) in 2D space. A Box2 represents a rectangular box in 2D space that is aligned with the world coordinate axes. It is defined by two Vector2 points: min (lower-left corner) and max (upper-right corner).

Methods

Box2()

Default constructor - creates an empty box

Box2(const Vector2& min, const Vector2& max)

Constructor with min and max vectors

min lower boundary of the box (+∞, +∞)
max upper boundary of the box (-∞, -∞)

Box2& set(const Vector2& min, const Vector2& max)

Sets the lower and upper boundaries of this box

min Vector2 representing the lower boundary
max Vector2 representing the upper boundary

Box2& setFromCenterAndSize(const Vector2& center, const Vector2& size)

Centers this box on center and sets its dimensions

center desired center position of the box
size desired x and y dimensions of the box

Box2& setFromPoints(const vector<Vector2>& points)

Sets the box to contain all points in the array

points array of Vector2s that the box will contain

Box2 clone() const

Returns a new Box2 with the same min and max as this one

Box2& copy(const Box2& box)

Copies the min and max from box to this box

box Box2 to copy from

Box2& makeEmpty()

Makes this box empty

bool isEmpty() const

Returns true if this box includes zero points within its bounds

Box2& expandByPoint(const Vector2& point)

Expands the boundaries of this box to include point

point Vector2 that should be included in the box

Box2& expandByVector(const Vector2& vector)

Expands this box equilaterally by the given vector

vector Vector2 to expand the box by

Box2& expandByScalar(f32 scalar)

Expands each dimension of the box by scalar

scalar distance to expand the box by

bool containsPoint(const Vector2& point) const

Returns true if the specified point lies within or on the boundaries

point Vector2 to check for inclusion

bool containsBox(const Box2& box) const

Returns true if this box includes the entirety of box

box Box2 to test for inclusion

Vector2& clampPoint(const Vector2& point, Vector2& target) const

Clamps the given point within the bounds of this box

point Vector2 to clamp
target result will be copied into this Vector2

f32 distanceToPoint(const Vector2& point) const

Returns the euclidean distance from any edge of this box to the specified point

point Vector2 to measure distance to

Box2& intersect(const Box2& box)

Computes the intersection of this and box

box Box to intersect with

Box2& unionBox(const Box2& box)

Computes the union of this box and box

box Box that will be unioned with this box

bool intersectsBox(const Box2& box) const

Determines whether or not this box intersects box

box Box to check for intersection against

Box2& translate(const Vector2& offset)

Adds offset to both the upper and lower bounds of this box

offset direction and distance of offset

Vector2& getCenter(Vector2& target) const

Returns the center point of the box as a Vector2

target result will be copied into this Vector2

Vector2& getSize(Vector2& target) const

Returns the width and height of this box

target result will be copied into this Vector2

Vector2& getParameter(const Vector2& point, Vector2& target) const

Returns a point as a proportion of this box's width and height

point Vector2 to get parameter for
target result will be copied into this Vector2

bool equals(const Box2& box) const

Returns true if this box and box share the same lower and upper bounds

box Box to compare with this one

bool operator==(const Box2& box) const

Checks if this box equals another

box Box to compare with

bool operator!=(const Box2& box) const

Checks if this box does not equal another

box Box to compare with

Properties

min Vector2 lower boundary of the box
max Vector2 upper boundary of the box
isBox2 bool Read
name string Optional display name
id u32 Unique identifier
uuid string UUID string
enabled bool Active/inactive
version u32 Bumps on change