---
name: "SbCylinderProjector"
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/SbCylinderProjector"
---

# SbCylinderProjector(3)

The SbCylinderProjector class is the abstract base class for mapping to cylindrical surfaces.

## NAME

SbCylinderProjector - The **SbCylinderProjector** class is the abstract base class for mapping to cylindrical surfaces.

## SYNOPSIS

\#include \<Inventor/projectors/SbCylinderProjector.h\>

Inherits **SbProjector**.

Inherited by **SbCylinderSectionProjector**, and **SbCylinderSheetProjector**.

### Public Member Functions

virtual **SbVec3f** **project** (const **SbVec2f** &point)=0\
 **SbVec3f** **projectAndGetRotation** (const **SbVec2f** &point, **SbRotation** &rot)\
 virtual **SbRotation** **getRotation** (const **SbVec3f** &point1, const **SbVec3f** &point2)=0\
 void **setCylinder** (const **SbCylinder** &cyl)\
 const **SbCylinder** & **getCylinder** (void) const\
 void **setOrientToEye** (const SbBool orienttoeye)\
 SbBool **isOrientToEye** (void) const\
 void **setFront** (const SbBool infront)\
 SbBool **isFront** (void) const\
 SbBool **isPointInFront** (const **SbVec3f** &point) const\
 virtual void **setWorkingSpace** (const **SbMatrix** &space)\

Public Member Functions inherited from **SbProjector** virtual void **setViewVolume** (const **SbViewVolume** &vol)\
 const **SbViewVolume** & **getViewVolume** (void) const\
 const **SbMatrix** & **getWorkingSpace** (void) const\
 virtual **SbProjector** \* **copy** (void) const =0\
 virtual SbBool **tryProject** (const **SbVec2f** &point, const float epsilon, **SbVec3f** &result)\

### Protected Member Functions

**SbCylinderProjector** (const SbBool orienttoeye)\
 **SbCylinderProjector** (const **SbCylinder** &**cylinder**, const SbBool orienttoeye)\
 SbBool **intersectCylinderFront** (const **SbLine** &line, **SbVec3f** &result)\

Protected Member Functions inherited from **SbProjector** **SbProjector** (void)\
 virtual **~SbProjector** ()\
 **SbLine** **getWorkingLine** (const **SbVec2f** &point) const\
 float **findVanishingDistance** (void) const\
 SbBool **verifyProjection** (const **SbVec3f** &projpt) const\

### Protected Attributes

SbBool **intersectFront**\
 **SbCylinder** **cylinder**\
 SbBool **orientToEye**\
 SbBool **needSetup**\
 **SbVec3f** **lastPoint**\

Protected Attributes inherited from **SbProjector** **SbViewVolume** **viewVol**\
 **SbMatrix** **worldToWorking**\
 **SbMatrix** **workingToWorld**\

## Detailed Description

The **SbCylinderProjector** class is the abstract base class for mapping to cylindrical surfaces.

The cylinder projectors map 2D points to various surface types based on cylindrical shapes.

**See also**

**SbSphereProjector**

## Constructor & Destructor Documentation

### SbCylinderProjector::SbCylinderProjector (const SbBool orienttoeye) \[protected\]

Default constructor sets up a cylinder along the Y-axis with height 1.

### SbCylinderProjector::SbCylinderProjector (const SbCylinder & cylinder, const SbBool orienttoeye) \[protected\]

Constructor taking an explicit *cylinder* projection definition.

## Member Function Documentation

### virtual SbVec3f SbCylinderProjector::project (const SbVec2f & point) \[pure virtual\]

Project the 2D *point* from normalized viewport coordinates to a 3D point. The mapping will be done in accordance with the type of the projector.

Implements **SbProjector**.

Implemented in **SbCylinderPlaneProjector**, **SbCylinderSectionProjector**, and **SbCylinderSheetProjector**.

### SbVec3f SbCylinderProjector::projectAndGetRotation (const SbVec2f & point, SbRotation & rot)

Project the 2D point to a 3D coordinate on the cylindrical surface, and find the rotation from the last projection to this one.

**See also**

**project()**, **getRotation()**

### virtual SbRotation SbCylinderProjector::getRotation (const SbVec3f & point1, const SbVec3f & point2) \[pure virtual\]

Returns rotation on the projection surface which reorients *point1* to *point2*.

Implemented in **SbCylinderPlaneProjector**, **SbCylinderSectionProjector**, and **SbCylinderSheetProjector**.

### void SbCylinderProjector::setCylinder (const SbCylinder & cylinderref)

Set *cylinder* to project onto.

### const SbCylinder & SbCylinderProjector::getCylinder (void ) const

Returns projection cylinder.

### void SbCylinderProjector::setOrientToEye (const SbBool orienttoeye)

Sets whether or not the projection surface should be oriented towards the eye of the viewer.

### SbBool SbCylinderProjector::isOrientToEye (void ) const

Returns the state of the cylinder orientation flag.

### void SbCylinderProjector::setFront (const SbBool infront)

Set whether to intersect with the outside of the cylinder (*isfront* equal to TRUE), or the inside.

### SbBool SbCylinderProjector::isFront (void ) const

Returns value of the flag which decides whether to intersect with the outside or inside of the cylinder.

### SbBool SbCylinderProjector::isPointInFront (const SbVec3f & point) const

Check if *point* is on the front side or the back side of the cylinder.

### void SbCylinderProjector::setWorkingSpace (const SbMatrix & space) \[virtual\]

Sets the matrix used for converting from the projector's coordinate system to the world coordinate system.

Reimplemented from **SbProjector**.

### SbBool SbCylinderProjector::intersectCylinderFront (const SbLine & line, SbVec3f & result) \[protected\]

Intersect *line* with the **SbCylinderProjector::cylinder** and place the intersection point (if any) in *result*. Considers **setFront()** settings.

Returns TRUE if *line* actually hits the cylinder, FALSE if it doesn't intersect with it.

## Member Data Documentation

### SbBool SbCylinderProjector::intersectFront \[protected\]

Flag which says whether or not we should map to the outside or inside of the cylinder surface.

### SbCylinder SbCylinderProjector::cylinder \[protected\]

Specification of the projection cylinder.

### SbBool SbCylinderProjector::orientToEye \[protected\]

Which direction the cylindrical surface is oriented.

### SbBool SbCylinderProjector::needSetup \[protected\]

Set to TRUE whenever the projection surface needs to be recalculated according to the setting of the **SbCylinderProjector::orientToEye** flag.

### SbVec3f SbCylinderProjector::lastPoint \[protected\]

Stores the previously projected 3D point.

## Author

Generated automatically by Doxygen for Coin from the source code.
