---
name: "SbSphereProjector"
section: "3iv"
platform: "linux"
package: "inventor-doc"
version: "2.1.6+ds-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SbSphereProjector/3iv"
---

# SbSphereProjector(3iv)

sphere projector

## NAME

SbSphereProjector — sphere projector

## INHERITS FROM

SbProjector \> SbSphereProjector

## SYNOPSIS

**#include \<Inventor/projectors/SbSphereProjector.h\>**

Methods from class SbSphereProjector:

**SbVec3f**	**projectAndGetRotation(const SbVec2f &point, SbRotation &rot)**\
 **virtual SbRotation**	**getRotation(const SbVec3f &point1, const SbVec3f &point2)**\
 **void**	**setSphere(const SbSphere &sph)**\
 **const SbSphere &**	**getSphere() const**\
 **void**	**setOrientToEye(SbBool orientToEye)**\
 **SbBool**	**isOrientToEye() const**\
 **void**	**setFront(SbBool isFront)**\
 **SbBool**	**isFront() const**\
 **SbBool**	**isPointInFront(const SbVec3f &point) const**

Methods from class SbProjector:

**virtual SbVec3f**	**project(const SbVec2f &point)**\
 **virtual void**	**setViewVolume(const SbViewVolume &vol)**\
 **const SbViewVolume &**	**getViewVolume() const**\
 **virtual void**	**setWorkingSpace(const SbMatrix &space)**\
 **const SbMatrix &**	**getWorkingSpace() const**\
 **virtual SbProjector \***	**copy() const**

## DESCRIPTION

**SbSphereProjector** is an abstract base class for projectors that use a sphere in their projection. Sphere projectors are typically used to write interactive 3D manipulators and viewers.

## METHODS

**SbVec3f**	**projectAndGetRotation(const SbVec2f &point, SbRotation &rot)**\
 Apply the projector using the given point, returning the point in three dimensions that it projects to. This also returns in **rot** a rotation on the surface of the sphere from the last projected point to this one. The passed **point** should be normalized (i.e. lie in the range \[0.0,1.0\]), with (0,0) at the lower-left.

**virtual SbRotation**	**getRotation(const SbVec3f &point1, const SbVec3f &point2)**\
 Get a rotation given two points on this sphere projector. The rotation will be on the surface of the sphere.

**void**	**setSphere(const SbSphere &sph)**\
 **const SbSphere &**	**getSphere() const**\
 Set and get the sphere on which to project points. The default sphere has radius 1.0.

**void**	**setOrientToEye(SbBool orientToEye)**\
 **SbBool**	**isOrientToEye() const**\
 Set and get whether the projector should always be oriented towards the eye. Set to FALSE if the tolerance should be evaluated in working space.

**void**	**setFront(SbBool isFront)**\
 **SbBool**	**isFront() const**\
 **SbBool**	**isPointInFront(const SbVec3f &point) const**\
 Set and get whether the projector should intersect the half of the sphere that faces the eye. Set to FALSE if the projector should intersect with the rear half.

## SEE ALSO

**SbCylinderProjector, SbCylinderPlaneProjector, SbCylinderSectionProjector, SbCylinderSheetProjector, SbLineProjector, SbPlaneProjector, SbSpherePlaneProjector, SbSphereSectionProjector, SbSphereSheetProjector**
