GCubeSDK
©2026 FenixFox®Studios

Sphere

Class representing a sphere in 3D space.
An analytical 3D sphere defined by a center and radius. This class is mainly used as a Bounding Sphere for 3D objects.

Methods

Sphere(const Vector3& center, f32 radius)

Constructor to create new sphere

center Center of the sphere Vector3()
radius Radius of the sphere -1.0f

Sphere& set(const Vector3& center, f32 radius)

Sets the sphere's components by copying the given values.

center The center of the sphere
radius The radius of the sphere

Sphere& setFromPoints(const vector<Vector3>& points, const Vector3& center)

Sets the sphere to contain all points in the array

points A list of points in 3D space
center The center of the sphere

Sphere& clone() const

Returns a new Sphere with the same center and radius as this one

Sphere& copy(const Sphere& sphere)

Copies the values from sphere to this sphere

sphere Sphere to copy from

Sphere& makeEmpty()

Makes this sphere empty

bool isEmpty() const

Returns true if this sphere includes zero points within its radius

Sphere& expandByPoint(const Vector3& point)

Expands the boundaries of this sphere to include point

point Vector3 that should be included in the sphere

bool containsPoint(const Vector3& point) const

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

point Vector3 to check for inclusion

bool containsSphere(const Vector3& sphere) const

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

sphere Sphere to check for inclusion

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

Calculate the clamp point within the bounds of this sphere if needed

point Vector3 to clamp
target Result will be copied into this Vector3

f32 distanceToPoint(const Vector3& point) const

Returns the distance from the boundary of the sphere to the given point.

point Vector3 to measure distance to

bool intersectsBox(const Sphere& sphere) const

Determines whether or not this sphere intersects box

sphere Box to check for intersection against

bool intersectsSphere(const Sphere& sphere) const

Determines whether or not this sphere intersects sphere

sphere Sphere to check for intersection against

bool intersectsPlane(const Plane& plane) const

Determines whether or not this sphere intersects plane

plane Plane to check for intersection against

bool intersectsTriangle(const Triangle& triangle) const

Determines whether or not this sphere intersects triangle

triangle Triangle to check for intersection against

Sphere& applyMatrix4(const Matrix4& matrix)

Transforms this Sphere with the supplied matrix

matrix Matrix4 to apply

Sphere& translate(const Vector3& offset)

Adds offset to the bounds of this sphere

offset Direction and distance of offset

Sphere& unionSphere(const Sphere& sphere)

Expands this sphere to enclose both spheres

sphere Sphere that will be unioned with this sphere

Box3& getBoundingBox(Box3& target) const

Gets a Box that bounds the sphere

target Result will be copied into this Box

bool equals(const Sphere& sphere) const

Returns true if this sphere and sphere share the same bounds

sphere Sphere to compare with this one

bool operator==(const Sphere& sphere) const

Checks if this sphere equals another

sphere Sphere to compare with

bool operator!=(const Sphere& sphere) const

Checks if this sphere does not equal another

sphere Sphere to compare with

Properties

center Vector3 Center of the sphere
enabled bool Active/inactive
id u32 Unique identifier
isSphere bool Read-only tag
name string Optional display name
radius f32 Radius of the sphere
uuid string UUID string
version u32 Bumps on change