Oriented plane in 3D. More...
#include <Inventor/SbPlane.h>
Public Member Functions | |
SbPlane () | |
Default constructor. | |
SbPlane (const SbVec3f &p0, const SbVec3f &p1, const SbVec3f &p2) | |
Constructor. | |
SbPlane (const SbVec3f &normal, float distance) | |
Constructor. | |
SbPlane (const SbVec3f &normal, const SbVec3f &point) | |
Constructor. | |
void | offset (float d) |
Offset a plane by a given distance. | |
SbBool | intersect (const SbLine &l, SbVec3f &intersection) const |
Intersect line and plane, returning TRUE if there is an intersection, FALSE if line is parallel to plane. | |
void | transform (const SbMatrix &matrix) |
Transforms the plane by the given matrix. | |
SbBool | isInHalfSpace (const SbVec3f &point) const |
Returns TRUE if the given point is within the half-space defined by the plane. | |
const SbVec3f & | getNormal () const |
Returns normal vector to plane. | |
float | getDistanceFromOrigin () const |
Returns distance from origin to plane. | |
float | getDistance (const SbVec3f &point) const |
Returns the distance from a point to plane. | |
Friends | |
int | operator== (const SbPlane &p1, const SbPlane &p2) |
Equality comparison operator. | |
int | operator!= (const SbPlane &p1, const SbPlane &p2) |
Inequality comparison operator. | |
Oriented plane in 3D.
Represents an oriented plane in 3D. This is a lightweight class/datatype that is used for arguments to some Open Inventor objects.
|
inline |
Constructor.
p0, p1, and p2 represent three points in the plane.
SbPlane::SbPlane | ( | const SbVec3f & | normal, |
float | distance | ||
) |
Constructor.
normal is a normal vector and distance is distance from origin to plane along normal vector.
Constructor.
normal is a normal vector and point is a point in 3-space for the plane to pass through.
float SbPlane::getDistance | ( | const SbVec3f & | point | ) | const |
Returns the distance from a point to plane.
Positive distance means the point is in the plane's half space.
|
inline |
|
inline |
Intersect line and plane, returning TRUE if there is an intersection, FALSE if line is parallel to plane.
Returns TRUE if the given point is within the half-space defined by the plane.
void SbPlane::offset | ( | float | d | ) |
Offset a plane by a given distance.
void SbPlane::transform | ( | const SbMatrix & | matrix | ) |
Transforms the plane by the given matrix.