Coin: SbCylinder Class Reference

| Coin3D is Free Software, published under the BSD 3-clause license. | https://coin3d.github.io https://www.kongsberg.com/en/kogt/

SbCylinder Class Reference
Base Classes

The SbCylinder class is a representation of a cylinder. More...

`#include <Inventor/SbCylinder.h>`

## Public Member Functions
| SbCylinder (void)
| SbCylinder (const SbLine &a, const float r)
void | setValue (const SbLine &a, const float r)
void | setAxis (const SbLine &a)
void | setRadius (const float r)
const SbLine & | getAxis (void) const
float | getRadius (void) const
SbBool | intersect (const SbLine &l, SbVec3f &intersection) const
SbBool | intersect (const SbLine &l, SbVec3f &enter, SbVec3f &exit) const
void | print (FILE *file) const

## Detailed Description

The SbCylinder class is a representation of a cylinder.

This class is used within other classes in Coin. It contains data to represent a cylinder by an axis and a radius. The cylinder has no length/height value, which means it is treated as of infinite length.

See also
  SbLine, SbSphere

## Constructor & Destructor Documentation

## ◆ SbCylinder() [1/2]

SbCylinder::SbCylinder | ( | void |  | ) |

The default constructor will make a cylinder of radius 1, center axis going through origo in the parallel direction of the positive y-axis.

## ◆ SbCylinder() [2/2]

SbCylinder::SbCylinder | ( | const SbLine & | a,
|  | const float | r )

Construct and initialize an SbCylinder instance with the given axis a and radius r.

## Member Function Documentation

## ◆ setValue()

void SbCylinder::setValue | ( | const SbLine & | a,
|  | const float | r )

Set the axis and radius of the cylinder.

See also
  getAxis(), getRadius().

## ◆ setAxis()

void SbCylinder::setAxis | ( | const SbLine & | a | ) |

Set the center axis of the cylinder.

See also
  setRadius(), getAxis().

## ◆ setRadius()

void SbCylinder::setRadius | ( | const float | r | ) |

Set the radius of the cylinder.

See also
  setAxis(), getRadius().

## ◆ getAxis()

const SbLine & SbCylinder::getAxis | ( | void |  | ) | const

Return the line which is the center axis of the cylinder.

See also
  setAxis(), getRadius().

## ◆ getRadius()

float SbCylinder::getRadius | ( | void |  | ) | const

Return radius of cylinder.

See also
  setRadius(), getAxis().

## ◆ intersect() [1/2]

SbBool SbCylinder::intersect | ( | const SbLine & | l,
|  | SbVec3f & | intersection ) const

Finds the intersection point of the ray l on the cylinder where the ray enters, and return this point in intersection.

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

## ◆ intersect() [2/2]

SbBool SbCylinder::intersect | ( | const SbLine & | l,
|  | SbVec3f & | enter,
|  | SbVec3f & | exit ) const

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

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

## ◆ print()

void SbCylinder::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.

The documentation for this class was generated from the following files:

- SbCylinder.h
- SbCylinder.cpp