osg::Plane Class Reference

Inheritance diagram for osg::Plane:

osg::InfinitePlane List of all members.

Public Member Functions

 Plane ()
 Plane (const Plane &pl)
 Plane (float a, float b, float c, float d)
 Plane (const Vec4 &vec)
 Plane (const Vec3 &norm, float d)
 Plane (const Vec3 &v1, const Vec3 &v2, const Vec3 &v3)
 Plane (const Vec3 &norm, const Vec3 &point)
Planeoperator= (const Plane &pl)
void set (const Plane &pl)
void set (float a, float b, float c, float d)
void set (const Vec4 &vec)
void set (const Vec3 &norm, float d)
void set (const Vec3 &v1, const Vec3 &v2, const Vec3 &v3)
void set (const Vec3 &norm, const Vec3 &point)
void flip ()
void makeUnitLength ()
void calculateUpperLowerBBCorners ()
bool valid () const
bool operator== (const Plane &plane) const
bool operator!= (const Plane &plane) const
bool operator< (const Plane &plane) const
float * ptr ()
const float * ptr () const
Vec4asVec4 ()
const Vec4asVec4 () const
float & operator[] (unsigned int i)
float operator[] (unsigned int i) const
osg::Vec3 getNormal () const
float distance (const osg::Vec3 &v) const
int intersect (const std::vector< Vec3 > &vertices) const
int intersect (const BoundingSphere &bs) const
int intersect (const BoundingBox &bb) const
void transform (const osg::Matrix &matrix)
void transformProvidingInverse (const osg::Matrix &matrix)

Protected Attributes

Vec4 _fv
unsigned int _upperBBCorner
unsigned int _lowerBBCorner

Detailed Description

A plane class. It can be used to represent an infinite plane.


Constructor & Destructor Documentation

osg::Plane::Plane (  )  [inline]

osg::Plane::Plane ( const Plane pl  )  [inline]

osg::Plane::Plane ( float  a,
float  b,
float  c,
float  d 
) [inline]

osg::Plane::Plane ( const Vec4 vec  )  [inline]

osg::Plane::Plane ( const Vec3 norm,
float  d 
) [inline]

osg::Plane::Plane ( const Vec3 v1,
const Vec3 v2,
const Vec3 v3 
) [inline]

osg::Plane::Plane ( const Vec3 norm,
const Vec3 point 
) [inline]


Member Function Documentation

const Vec4& osg::Plane::asVec4 (  )  const [inline]

Vec4& osg::Plane::asVec4 (  )  [inline]

void osg::Plane::calculateUpperLowerBBCorners (  )  [inline]

calculate the upper and lower bounding box corners to be used in the intersect(BoundingBox&) method for speeding calculations.

float osg::Plane::distance ( const osg::Vec3 v  )  const [inline]

calculate the distance between a point and the plane.

void osg::Plane::flip (  )  [inline]

flip/reverse the orientation of the plane.

osg::Vec3 osg::Plane::getNormal (  )  const [inline]

int osg::Plane::intersect ( const BoundingBox bb  )  const [inline]

intersection test between plane and bounding sphere. return 1 if the bs is completely above plane, return 0 if the bs intersects the plane, return -1 if the bs is completely below the plane.

int osg::Plane::intersect ( const BoundingSphere bs  )  const [inline]

intersection test between plane and bounding sphere. return 1 if the bs is completely above plane, return 0 if the bs intersects the plane, return -1 if the bs is completely below the plane.

int osg::Plane::intersect ( const std::vector< Vec3 > &  vertices  )  const [inline]

intersection test between plane and vertex list return 1 if the bs is completely above plane, return 0 if the bs intersects the plane, return -1 if the bs is completely below the plane.

void osg::Plane::makeUnitLength (  )  [inline]

bool osg::Plane::operator!= ( const Plane plane  )  const [inline]

bool osg::Plane::operator< ( const Plane plane  )  const [inline]

Plane& osg::Plane::operator= ( const Plane pl  )  [inline]

bool osg::Plane::operator== ( const Plane plane  )  const [inline]

float osg::Plane::operator[] ( unsigned int  i  )  const [inline]

float& osg::Plane::operator[] ( unsigned int  i  )  [inline]

const float* osg::Plane::ptr (  )  const [inline]

float* osg::Plane::ptr (  )  [inline]

void osg::Plane::set ( const Vec3 norm,
const Vec3 point 
) [inline]

void osg::Plane::set ( const Vec3 v1,
const Vec3 v2,
const Vec3 v3 
) [inline]

void osg::Plane::set ( const Vec3 norm,
float  d 
) [inline]

void osg::Plane::set ( const Vec4 vec  )  [inline]

void osg::Plane::set ( float  a,
float  b,
float  c,
float  d 
) [inline]

void osg::Plane::set ( const Plane pl  )  [inline]

void osg::Plane::transform ( const osg::Matrix matrix  )  [inline]

Transform the plane by matrix. Note, this operation carries out the calculation of the inverse of the matrix since a plane must be multiplied by the inverse transposed to transform it. This make this operation expensive. If the inverse has been already calculated elsewhere then use transformProvidingInverse() instead. See http://www.worldserver.com/turk/computergraphics/NormalTransformations.pdf

void osg::Plane::transformProvidingInverse ( const osg::Matrix matrix  )  [inline]

Transform the plane by providing a pre inverted matrix. see transform for details.

bool osg::Plane::valid (  )  const [inline]


Member Data Documentation

Vec4 osg::Plane::_fv [protected]

unsigned int osg::Plane::_lowerBBCorner [protected]

unsigned int osg::Plane::_upperBBCorner [protected]


The documentation for this class was generated from the following file:
Generated on Sun Oct 1 13:17:07 2006 for openscenegraph by  doxygen 1.4.7