---
name: "SbSphere"
section: "3"
platform: "linux"
package: "coin"
version: "1:4.0.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/SbSphere"
---

# SbSphere(3)

The SbSphere class is a representation of a sphere.

## NAME

SbSphere - The **SbSphere** class is a representation of a sphere.

## SYNOPSIS

\#include \<Inventor/SbSphere.h\>

### Public Member Functions

**SbSphere** (void)\
 **SbSphere** (const **SbVec3f** &center, const float radius)\
 void **setValue** (const **SbVec3f** &center, const float radius)\
 void **setCenter** (const **SbVec3f** &center)\
 void **setRadius** (const float radius)\
 const **SbVec3f** & **getCenter** (void) const\
 float **getRadius** (void) const\
 void **circumscribe** (const **SbBox3f** &box)\
 SbBool **intersect** (const **SbLine** &l, **SbVec3f** &intersection) const\
 SbBool **intersect** (const **SbLine** &l, **SbVec3f** &enter, **SbVec3f** &exit) const\
 SbBool **pointInside** (const **SbVec3f** &p) const\
 void **print** (FILE \*file) const\

## Detailed Description

The **SbSphere** class is a representation of a sphere.

This class is used within many other classes in Coin. It contains the data necessary to represent a sphere (a 3D point and a radius).

**See also**

**SbCylinder**

## Constructor & Destructor Documentation

### SbSphere::SbSphere (void )

The default constructor does nothing. The center point and the radius will be uninitialized.

### SbSphere::SbSphere (const SbVec3f & centerarg, const float radiusarg)

Construct an **SbSphere** instance with the given center point and radius.

## Member Function Documentation

### void SbSphere::setValue (const SbVec3f & centerarg, const float radiusarg)

Set the sphere's center point and radius.

**See also**

**getCenter()**, **getRadius()**.

### void SbSphere::setCenter (const SbVec3f & centerarg)

Set the sphere's center point.

**See also**

**setValue()**, **setRadius()** and **getCenter()**.

### void SbSphere::setRadius (const float radiusarg)

Set the sphere's radius.

**See also**

**setValue()**, **setCenter()** and **getRadius()**.

### const SbVec3f & SbSphere::getCenter (void ) const

Returns an **SbVec3f** with the sphere's center point.

**See also**

**setCenter()**, **getRadius()**.

### float SbSphere::getRadius (void ) const

Returns the sphere's radius.

**See also**

**setRadius()**, **getCenter()**.

### void SbSphere::circumscribe (const SbBox3f & box)

Make the sphere exactly contain *box*, i.e. the sphere center point will be the same as that of the box, and the radius will be the distance from the box center point to any of the corners.

### SbBool SbSphere::intersect (const SbLine & l, SbVec3f & intersection) const

Finds the intersection enter point for the given line *l* on the sphere.

If the line does not intersect the sphere, *FALSE* is returned.

### SbBool SbSphere::intersect (const SbLine & l, SbVec3f & enter, SbVec3f & exit) const

Find the intersection points of the ray *l* on the sphere and return these in *enter* and *exit*. If the ray just "grazes" the sphere, the *enter* and *exit* points have equal values.

If the ray does not intersect the sphere, *FALSE* is returned, otherwise we will return *TRUE*.

### SbBool SbSphere::pointInside (const SbVec3f & p) const

Returns *TRUE* of the given point *p* lies within the sphere.

### void SbSphere::print (FILE \* fp) const

Dump the state of this object to the *fp* file stream. Only works in debug version of library, method does nothing in an optimized build.

## Author

Generated automatically by Doxygen for Coin from the source code.
