typedef unsigned int osg::Polytope::ClippingMask |
typedef std::vector<Plane> osg::Polytope::PlaneList |
typedef std::vector<Vec3> osg::Polytope::VertexList |
osg::Polytope::Polytope | ( | ) | [inline] |
osg::Polytope::Polytope | ( | const Polytope & | cv | ) | [inline] |
osg::Polytope::Polytope | ( | const PlaneList & | pl | ) | [inline] |
osg::Polytope::~Polytope | ( | ) | [inline] |
void osg::Polytope::clear | ( | ) | [inline] |
References _maskStack, _planeList, _referenceVertexList, and _resultMask.
void osg::Polytope::setToUnitFrustum | ( | bool | withNear = true , |
|
bool | withFar = true | |||
) | [inline] |
Create a Polytope which is a cube, centered at 0,0,0, with sides of 2 units.
void osg::Polytope::setToBoundingBox | ( | const BoundingBox & | bb | ) | [inline] |
Create a Polytope which is a equivalent to BoundingBox.
References osg::BoundingBoxImpl< VT >::xMax(), osg::BoundingBoxImpl< VT >::xMin(), osg::BoundingBoxImpl< VT >::yMax(), osg::BoundingBoxImpl< VT >::yMin(), osg::BoundingBoxImpl< VT >::zMax(), and osg::BoundingBoxImpl< VT >::zMin().
void osg::Polytope::setAndTransformProvidingInverse | ( | const Polytope & | pt, | |
const osg::Matrix & | matrix | |||
) | [inline] |
References _maskStack, _planeList, _referenceVertexList, and osg::fast_back_stack< T >::back().
void osg::Polytope::set | ( | const PlaneList & | pl | ) | [inline] |
void osg::Polytope::add | ( | const osg::Plane & | pl | ) | [inline] |
void osg::Polytope::flip | ( | ) | [inline] |
flip/reverse the orientation of all the planes.
PlaneList& osg::Polytope::getPlaneList | ( | ) | [inline] |
const PlaneList& osg::Polytope::getPlaneList | ( | ) | const [inline] |
void osg::Polytope::setReferenceVertexList | ( | VertexList & | vertices | ) | [inline] |
VertexList& osg::Polytope::getReferenceVertexList | ( | ) | [inline] |
const VertexList& osg::Polytope::getReferenceVertexList | ( | ) | const [inline] |
void osg::Polytope::setupMask | ( | ) | [inline] |
ClippingMask& osg::Polytope::getCurrentMask | ( | ) | [inline] |
ClippingMask osg::Polytope::getCurrentMask | ( | ) | const [inline] |
void osg::Polytope::setResultMask | ( | ClippingMask | mask | ) | [inline] |
Referenced by osg::ShadowVolumeOccluder::disableResultMasks().
ClippingMask osg::Polytope::getResultMask | ( | ) | const [inline] |
MaskStack& osg::Polytope::getMaskStack | ( | ) | [inline] |
const MaskStack& osg::Polytope::getMaskStack | ( | ) | const [inline] |
void osg::Polytope::pushCurrentMask | ( | ) | [inline] |
Referenced by osg::ShadowVolumeOccluder::pushCurrentMask().
void osg::Polytope::popCurrentMask | ( | ) | [inline] |
Referenced by osg::ShadowVolumeOccluder::popCurrentMask().
bool osg::Polytope::contains | ( | const osg::Vec3 & | v | ) | const [inline] |
Check whether a vertex is contained within clipping set.
bool osg::Polytope::contains | ( | const std::vector< Vec3 > & | vertices | ) | [inline] |
Check whether any part of vertex list is contained within clipping set.
bool osg::Polytope::contains | ( | const osg::BoundingSphere & | bs | ) | [inline] |
Check whether any part of a bounding sphere is contained within clipping set. Using a mask to determine which planes should be used for the check, and modifying the mask to turn off planes which wouldn't contribute to clipping of any internal objects. This feature is used in osgUtil::CullVisitor to prevent redundant plane checking.
bool osg::Polytope::contains | ( | const osg::BoundingBox & | bb | ) | [inline] |
Check whether any part of a bounding box is contained within clipping set. Using a mask to determine which planes should be used for the check, and modifying the mask to turn off planes which wouldn't contribute to clipping of any internal objects. This feature is used in osgUtil::CullVisitor to prevent redundant plane checking.
bool osg::Polytope::containsAllOf | ( | const std::vector< Vec3 > & | vertices | ) | [inline] |
Check whether all of vertex list is contained with clipping set.
bool osg::Polytope::containsAllOf | ( | const osg::BoundingSphere & | bs | ) | [inline] |
Check whether the entire bounding sphere is contained within clipping set.
bool osg::Polytope::containsAllOf | ( | const osg::BoundingBox & | bb | ) | [inline] |
Check whether the entire bounding box is contained within clipping set.
void osg::Polytope::transform | ( | const osg::Matrix & | matrix | ) | [inline] |
Transform the clipping set by matrix. Note, this operations carries out the calculation of the inverse of the matrix since a plane must be multiplied by the inverse transposed to transform it. This makes this operation expensive. If the inverse has been already calculated elsewhere then use transformProvidingInverse() instead. See http://www.worldserver.com/turk/computergraphics/NormalTransformations.pdf
References osg::Matrixd::invert().
void osg::Polytope::transformProvidingInverse | ( | const osg::Matrix & | matrix | ) | [inline] |
Transform the clipping set by provide a pre inverted matrix. see transform for details.
MaskStack osg::Polytope::_maskStack [protected] |
Referenced by operator=(), and setAndTransformProvidingInverse().
ClippingMask osg::Polytope::_resultMask [protected] |
Referenced by operator=().
PlaneList osg::Polytope::_planeList [protected] |
Referenced by operator=(), and setAndTransformProvidingInverse().
VertexList osg::Polytope::_referenceVertexList [protected] |
Referenced by operator=(), and setAndTransformProvidingInverse().