Coin3D is Free Software, published under the BSD 3-clause license. |
https://bitbucket.org/Coin3D/ http://www.kongsberg.com/kogt/ |
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 |
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.
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::SbCylinder | ( | const SbLine & | a, |
const float | r | ||
) |
Construct and initialize an SbCylinder instance with the given axis a and radius r.
void SbCylinder::setValue | ( | const SbLine & | a, |
const float | r | ||
) |
Set the axis and radius of the cylinder.
void SbCylinder::setAxis | ( | const SbLine & | a | ) |
Set the center axis of the cylinder.
void SbCylinder::setRadius | ( | const float | r | ) |
Set the radius of the cylinder.
const SbLine & SbCylinder::getAxis | ( | void | ) | const |
Return the line which is the center axis of the cylinder.
float SbCylinder::getRadius | ( | void | ) | const |
Return radius of cylinder.
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.
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.
void SbCylinder::print | ( | FILE * | fp | ) | const |
Dump the state of this object to the file stream. Only works in debug version of library, method does nothing in an optimized compile.