NAME
SbPlane -
The SbPlane class represents a plane in 3D space.
SbDPPlane is used by many other classes in Coin. It provides a way of
representing a plane, specified by a plane normal vector and a distance
from the origin of the coordinate system.
SYNOPSIS
#include <Inventor/SbLinear.h>
Public Member Functions
SbPlane (void)
SbPlane (const SbVec3f &normal, const float D)
SbPlane (const SbVec3f &p0, const SbVec3f &p1, const SbVec3f &p2)
SbPlane (const SbVec3f &normal, const SbVec3f &point)
void offset (const float d)
SbBool intersect (const SbLine &l, SbVec3f &intersection) const
void transform (const SbMatrix &matrix)
SbBool isInHalfSpace (const SbVec3f &point) const
float getDistance (const SbVec3f &point) const
const SbVec3f & getNormal (void) const
float getDistanceFromOrigin (void) const
void print (FILE *file) const
SbBool intersect (const SbPlane &pl, SbLine &line) const
Friends
int operator== (const SbPlane &p1, const SbPlane &p2)
int operator!= (const SbPlane &p1, const SbPlane &p2)
Detailed Description
The SbPlane class represents a plane in 3D space.
SbDPPlane is used by many other classes in Coin. It provides a way of
representing a plane, specified by a plane normal vector and a distance
from the origin of the coordinate system.
The SbPlane class represents a plane in 3D space.
SbPlane is used by many other classes in Coin. It provides a way of
representing a plane, specified by a plane normal vector and a distance
from the origin of the coordinate system.
Be aware that this class is an extension for Coin, and it is not
available in the original SGI Open Inventor v2.1 API.
Since:
Coin 2.0
Constructor & Destructor Documentation
SbPlane::SbPlane (void) An SbPlane instantiated with the default
constructor will be uninitialized.
SbPlane::SbPlane (const SbVec3f & normalref, const float D) Construct an
SbPlane instance with a normal pointing in the given direction and the
given shortest distance from the origin of the coordinate system to a
point in the plane.
normal must not be a null vector.
SbPlane::SbPlane (const SbVec3f & p0, const SbVec3f & p1, const SbVec3f &
p2) Construct an SbPlane with three points laying in the plane. Make
sure p0, p1 and p2 are actually three distinct points, not on a line,
when using this constructor.
SbPlane::SbPlane (const SbVec3f & normalref, const SbVec3f & point)
Construct an SbPlane from a normal and a point laying in the plane.
normal must not be a null vector.
Member Function Documentation
void SbPlane::offset (const float d) Add the given offset d to the plane
distance from the origin.
SbBool SbPlane::intersect (const SbLine & l, SbVec3f & intersection) const
Find the point on given line l intersecting the plane and return it in
intersection. If the line is parallel to the plane, we return FALSE,
otherwise TRUE.
Do not pass an invalid line for the l parameter (i.e. with a null
direction vector).
void SbPlane::transform (const SbMatrix & matrix) Transform the plane by
matrix.
See also:
offset()
SbBool SbPlane::isInHalfSpace (const SbVec3f & point) const Check if the
given point lies in the halfspace of the plane which the plane normal
vector is pointing.
float SbPlane::getDistance (const SbVec3f & point) const Return the
distance from point to plane. Positive distance means the point is in
the plane’s half space.
This method is an extension specific to Coin versus the original SGI
Inventor API.
const SbVec3f & SbPlane::getNormal (void) const Return the plane’s normal
vector, which indicates which direction the plane is oriented.
See also:
getDistanceFromOrigin().
float SbPlane::getDistanceFromOrigin (void) const Return distance from
origin of coordinate system to the point in the plane which is closest
to the origin.
See also:
getNormal().
void SbPlane::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 build.
SbBool SbPlane::intersect (const SbPlane & pl, SbLine & line) const
Intersect this plane with pl, and return the resulting line in line.
Returns TRUE if an intersection line can be found, and FALSE if the
planes are parallel.
Please note that the resulting SbLine must be considered as a line
intersecting the SbLine’s origin, extending infinitely in both
directions.
This function is an extension for Coin, and it is not available in the
original SGI Open Inventor v2.1 API.
Since:
Coin 2.0
Friends And Related Function Documentation
int operator== (const SbPlane & p1, const SbPlane & p2) [friend] Check the
two given planes for equality.
int operator!= (const SbPlane & p1, const SbPlane & p2) [friend] Check the
two given planes for unequality.
Author
Generated automatically by Doxygen for Coin from the source code.