Unigine.BoundSphere Struct

Notice
The functions listed below are the members of the Unigine.MathLib namespace.

BoundSphereoperator* ( mat4 m, BoundSphere bs ) #

Multiplies the matrix by the bounding sphere and returns the resulting bounding sphere.

Return value

Resulting bounding sphere.

BoundSphereoperator* ( dmat4 m, BoundSphere bs ) #

Multiplies the matrix by the bounding sphere and returns the resulting bounding sphere.

Return value

Resulting bounding sphere.

voidSet ( vec3 center, float radius ) #

Sets the bounding sphere using the specified arguments.

Arguments

• vec3 center - The bounding sphere center.

voidSet ( vec3[] points, bool optimal ) #

Sets the bounding sphere using the specified arguments.

Arguments

• vec3[] points - Array of points.
• bool optimal - Flag defining if the optimal sphere should be used. If false, the sphere will be expanded for including all the given points.

voidSet ( BoundSphere bs ) #

Sets the bounding sphere using the specified arguments.

voidSet ( BoundSphere bs, mat4 transform ) #

Sets the bounding sphere using the specified arguments.

Arguments

• BoundSphere bs - Bounding sphere.
• mat4 transform - Transformation matrix (mat4) to be set.

voidSet ( BoundSphere bs, dmat4 transform ) #

Sets the bounding sphere using the specified arguments.

Arguments

• BoundSphere bs - Bounding sphere.
• dmat4 transform - Transformation matrix (dmat4) to be set.

voidSet ( BoundBox bb ) #

Sets the bounding sphere by the bounding box.

voidClear ( ) #

Clears the bounding sphere by setting all components/elements to 0.

boolEquals ( BoundSphere other ) #

Checks if the bounding sphere and the specified argument are equal considering the predefined accuracy (epsilon).

Arguments

• BoundSphere other - Bounding sphere to be checked for equality.

Return value

true if the radii and the centers of both bounding spheres are equal; otherwise, false.

boolEqualsNearly ( BoundSphere other, float epsilon ) #

Checks if the bounding sphere and the specified argument represent the same value with regard to the specified accuracy (epsilon).

Arguments

• BoundSphere other - Bounding sphere to be checked for equality.
• float epsilon - Epsilon value, that determines accuracy of comparison.

Return value

true if the radii and the centers of both bounding spheres are equal; otherwise, false.

boolEquals ( object obj ) #

Checks if the bounding sphere and the specified argument are equal considering the predefined accuracy (epsilon).

Arguments

• object obj - Object to be checked for equality.

Return value

true if the object and the bounding sphere are equal; otherwise, false.

intGetHashCode ( ) #

Returns a hash code for the current object. Serves as the default hash function.

Hash code.

voidSetTransform ( mat4 transform ) #

Sets the given transformation matrix to bounding sphere.

Arguments

• mat4 transform - Transformation matrix (mat4) to be set.

voidSetTransform ( dmat4 transform ) #

Sets the given transformation matrix to bounding sphere.

Arguments

• dmat4 transform - Transformation matrix (dmat4) to be set.

voidExpand ( vec3 point ) #

Expands the current bounding sphere to include the given point.

Arguments

• vec3 point - Coordinates of the point.

voidExpand ( vec3[] points ) #

Expands the current bounding sphere for including all points in the array.

Arguments

• vec3[] points - Array of points.

voidExpand ( BoundSphere bs ) #

Expands the current bounding sphere to include the given bounding sphere.

voidExpand ( BoundBox bb ) #

Expands the current bounding sphere to include the given bounding box.

Arguments

• BoundBox bb - Bounding box to be included.

voidExpandRadius ( vec3 point ) #

Expands the radius of the bounding sphere.

Arguments

• vec3 point - Point coordinates setting the end point of radius.

voidExpandRadius ( vec3[] points ) #

Expands the radius of the current bounding sphere for including all points of the array.

Arguments

• vec3[] points - Array of points.

voidExpandRadius ( BoundSphere bs ) #

Expands the radius of the bounding sphere by using the radius of the given bounding sphere.

voidExpandRadius ( BoundBox bb ) #

Expands the radius of the bounding sphere by using the max and min points of the given bounding box.

boolInside ( vec3 point ) #

Checks if the given point is inside the current bounding sphere.

Arguments

• vec3 point - Point coordinates.

Return value

true if the given point is inside the bounding sphere; otherwise, false.

boolInside ( vec3 point, float radius ) #

Checks if the sphere defined by the arguments is inside the bounding sphere.

Arguments

• vec3 point - Center of the sphere.

Return value

true if the sphere is inside the bounding sphere; otherwise, false.

boolInside ( vec3 min, vec3 max ) #

Checks if the box is inside the bounding sphere.

Arguments

• vec3 min - Minimum coordinates of the box.
• vec3 max - Maximum coordinates of the box.

Return value

true if the box is inside the bounding sphere; otherwise, false.

boolInsideValid ( vec3 point ) #

Checks if the given point is inside the current bounding sphere.
Notice
The method doesn't check if the current bounding sphere is valid.

Arguments

• vec3 point - Point coordinates.

Return value

true if the given point is inside the bounding sphere; otherwise, false.

boolInsideValid ( vec3 point, float radius ) #

Checks if the sphere specified in the argument is inside the current bounding sphere.
Notice
The method doesn't check if the current bounding sphere is valid.

Arguments

• vec3 point - Cente of the sphere.

Return value

true if the sphere is inside the bounding sphere; otherwise, false.

boolInsideValid ( vec3 min, vec3 max ) #

Checks if the box specified in the argument is inside the current bounding sphere.
Notice
The method doesn't check if the current bounding sphere is valid.

Arguments

• vec3 min - Minimum coordinates of the box (lower limit).
• vec3 max - Maximum coordinates of the box (upper limit).

Return value

true if the box is inside the bounding sphere; otherwise, false.

boolInside ( BoundSphere bs ) #

Checks if the bounding sphere specified in the argument is inside the current bounding sphere.

Return value

true if the bounding sphere is inside the bounding sphere; otherwise, false.

boolInside ( BoundBox bb ) #

Checks if the bounding box specified in the argument is inside the current bounding sphere.

Return value

true if the bounding box is inside the bounding sphere; otherwise, false.

boolInsideValid ( BoundSphere bs ) #

Checks if the bounding sphere specified in the argument is inside the current bounding sphere.
Notice
This method doesn't check if the current bounding sphere is valid (has a positive radius).

Return value

true if the bounding sphere is inside the bounding sphere; otherwise, false.

boolInsideValid ( BoundBox bb ) #

Checks if the bounding box specified in the argument is inside the current bounding sphere.
Notice
This method doesn't check if the current bounding sphere is valid (has a positive radius).

Return value

true if the bounding box is inside the bounding sphere; otherwise, false.

boolInsideAll ( BoundSphere bs ) #

Checks if the whole specified bounding sphere is inside the current bounding sphere.

Return value

true if the whole bounding sphere is inside the bounding sphere; otherwise, false.

boolInsideAll ( BoundBox bb ) #

Checks if the whole specified bounding box is inside the current bounding sphere.

Return value

true if the whole bounding box is inside the bounding sphere; otherwise, false.

boolInsideAllValid ( BoundSphere bs ) #

Checks if the whole bounding sphere specified in the argument is completely inside the current bounding sphere.
Notice
This method doesn't check if the current bounding sphere is valid (has a positive radius).

Return value

true if the whole bounding sphere is inside the bounding sphere; otherwise, false.

boolInsideAllValid ( BoundBox bb ) #

Checks if the whole bounding box specified in the argument is completely inside the current bounding sphere.
Notice
This method doesn't check if the current bounding sphere is valid (has a positive radius).

Return value

true if the whole bounding box is inside the bounding sphere; otherwise, false.

boolRayIntersection ( vec3 point, vec3 direction ) #

Checks for an intersection between a ray and the current bound.

Arguments

• vec3 point - The starting point of the ray.
• vec3 direction - Direction vector coordinates.

Return value

true if an intersection has occurred; otherwise, false.

boolGetIntersection ( vec3 p0, vec3 p1 ) #

Checks for an intersection of a line with the current bounding sphere.

Arguments

• vec3 p0 - The starting point of the line.
• vec3 p1 - The ending point of the line.

Return value

true if an intersection has occurred; otherwise, false.

boolRayIntersectionValid ( vec3 point, vec3 direction ) #

Checks for an intersection between a ray and the current bound.
Notice
This method doesn't check if the current bounding sphere is valid (has a positive radius).

Arguments

• vec3 point - The starting point of the ray.
• vec3 direction - Direction vector coordinates.

Return value

true if an intersection has occurred; otherwise, false.

boolGetIntersectionValid ( vec3 p0, vec3 p1 ) #

Checks for an intersection of a line with the current bounding sphere.
Notice
This method doesn't check if the current bounding sphere is valid (has a positive radius).

Arguments

• vec3 p0 - The starting point of the line.
• vec3 p1 - The starting point of the line.

Return value

true if an intersection has occurred; otherwise, false.

floatDistance ( ) #

Returns the distance from the origin of coordinates to the closest point of the current bounding sphere.

Return value

Distance from the origin, in units.

floatDistance ( vec3 point ) #

Returns the distance from the given point to the closest point of the current bounding sphere.

Arguments

• vec3 point - Coordinates of the point.

Return value

Distance from the point, in units.

floatDistanceValid ( ) #

Returns the distance from the origin of coordinates to the closest point of the current bounding sphere.
Notice
This method doesn't check if the current bounding sphere is valid (has a positive radius).

Return value

Distance from the origin, in units.

floatDistanceValid ( vec3 point ) #

Returns the distance from the given point to the closest point of the current bounding sphere.
Notice
This method doesn't check if the current bounding sphere is valid (has a positive radius).

Arguments

• vec3 point - Coordinates of the point.

Return value

Distance from the origin, in units.

boolIsCameraVisible ( vec3 camera, float min_distance, float max_distance ) #

Checks if the bounding sphere is within the camera visibility distance.

Arguments

• vec3 camera - Camera position.
• float min_distance - Minimum visibility distance, in units.
• float max_distance - Maximum visibility distance, in units.

Return value

true if the bounding sphere is within the camera visibility distance; otherwise, false.
Last update: 2021-12-13