Inheritance diagram for osg::Plane:
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) | |
Plane & | operator= (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 |
Vec4 & | asVec4 () |
const Vec4 & | asVec4 () 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 |
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] |
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] |
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, | |
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] |
Vec4 osg::Plane::_fv [protected] |
unsigned int osg::Plane::_lowerBBCorner [protected] |
unsigned int osg::Plane::_upperBBCorner [protected] |