Programming
Fundamentals
Setting Up Development Environment
UnigineScript
High-Level Systems
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Node-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
Rendering-Related Classes

Unigine::BoundSphere Class

Header:#include <UnigineBounds.h>

This class serves to construct the bounding sphere in single precision coordinates.

Notice
Instances of this class are deleted automatically when it is necessary.

In case of double precision coordinates, the bounding sphere should be constructed by using the WorldBoundSphere class. It includes the same functions as the BoundSphere class, but its functions deal with the double precision coordinates.

Notice
To support both single and double precision builds, you can use the WorldBoundSphere class only. The engine will automatically substitute it with the BoundSphere if it is required.

BoundSphere Class

Members


BoundSphere()

Constructor. Creates an empty bounding sphere.

BoundSphere(const vec3 & center, float radius)

Initialization by the center and radius of the bounding sphere.

Arguments

  • const vec3 & center - The bounding sphere center.
  • float radius - The bounding sphere radius.

BoundSphere(const BoundSphere & bs)

Initialization by the bounding sphere.

Arguments

  • const BoundSphere & bs - The bounding sphere.

explicit BoundSphere(const BoundBox & bb)

Initialization by the bounding box.

Arguments

  • const BoundBox & bb - The bounding box.

void set(const vec3 & center, float radius)

Sets the bounding sphere by its center and radius.

Arguments

  • const vec3 & center - The bounding sphere center.
  • float radius - The bounding sphere radius.

void set(const BoundSphere & bs)

Sets the bounding sphere.

Arguments

  • const BoundSphere & bs - The bounding sphere.

void set(const BoundBox & bb)

Sets the bounding sphere by the bounding box.

Arguments

  • const BoundBox & bb - The bounding box.

const vec3 & getCenter() const

Gets the bounding sphere center.

Return value

The bounding sphere center.

float getRadius() const

Gets the bounding sphere radius.

Return value

The bounding sphere radius.

void setTransform(const mat4 & transform)

Arguments

  • const mat4 & transform

void setTransform(const dmat4 & transform)

Arguments

  • const dmat4 & transform

int isValid() const

Checks the bounding sphere status.

Return value

1 if the bounding sphere radius has a positive value.

void clear()

Clears the bounding sphere.

void expand(const BoundSphere & bs)

Arguments

  • const BoundSphere & bs

void expand(const BoundBox & bb)

Arguments

  • const BoundBox & bb

void expand(const vec3 & point)

Arguments

  • const vec3 & point

void expandRadius(const vec3 & point)

Arguments

  • const vec3 & point

void expandRadius(const BoundSphere & bs)

Arguments

  • const BoundSphere & bs

void expandRadius(const BoundBox & bb)

Arguments

  • const BoundBox & bb

int inside(const vec3 & point, float radius) const

Checks if the sphere is inside the bounding sphere.

Arguments

  • const vec3 & point - The coordinates of the center of the sphere .
  • float radius - The sphere radius.

Return value

1 if the sphere is inside the bounding sphere; otherwise, 0.

int inside(const vec3 & min, const vec3 & max) const

Checks if the box is inside the bounding sphere.

Arguments

  • const vec3 & min - The box minimum coordinates.
  • const vec3 & max - The box maximum coordinates.

Return value

1 if the box is inside the bounding sphere; otherwise, 0.

int inside(const BoundSphere & bs) const

Checks if the bounding sphere is inside the bounding sphere.

Arguments

  • const BoundSphere & bs - The bounding sphere.

Return value

1 if the bounding sphere is inside the bounding sphere; otherwise, 0.

int inside(const BoundBox & bb) const

Checks if the bounding box is inside the bounding sphere.

Arguments

  • const BoundBox & bb - The bounding box.

Return value

1 if the bounding box is inside the bounding sphere; otherwise, 0.

int insideAll(const BoundBox & bb)

Arguments

  • const BoundBox & bb

int insideAll(const BoundSphere & bs)

Arguments

  • const BoundSphere & bs
Last update: 2017-07-03