OpenSceneGraph
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
osgShadow::ConvexPolyhedron Class Reference
Collaboration diagram for osgShadow::ConvexPolyhedron:
Collaboration graph
[legend]

Classes

struct  Face
 

Public Types

typedef std::vector< osg::Vec3dVertices
 
typedef std::list< FaceFaces
 

Public Member Functions

 ConvexPolyhedron (const osg::Matrix &matrix, const osg::Matrix &inverse, const osg::BoundingBox &bb=osg::BoundingBox(-1,-1,-1, 1, 1, 1))
 
FacecreateFace ()
 
void clear ()
 
void setToUnitFrustum (bool withNear=true, bool withFar=true)
 
void setToBoundingBox (const osg::BoundingBox &bb)
 
void transform (const osg::Matrix &matrix, const osg::Matrix &inverse)
 
void transformClip (const osg::Matrix &matrix, const osg::Matrix &inverse)
 
bool mergeFaces (const Face &face0, const Face &face1, Face &face)
 
void mergeCoplanarFaces (const double &plane_normal_dot_tolerance=0.0, const double &plane_distance_tolerance=0.0)
 
void removeDuplicateVertices (void)
 
bool checkCoherency (bool checkForNonConvexPolys=false, const char *errorPrefix=NULL)
 
void cut (const osg::Polytope &polytope)
 
void cut (const ConvexPolyhedron &polytope)
 
void cut (const osg::Plane &plane, const std::string &name=std::string())
 
void extrude (const osg::Vec3d &offset)
 
void translate (const osg::Vec3d &offset)
 
void getPolytope (osg::Polytope &polytope) const
 
void getPoints (Vertices &vertices) const
 
osg::BoundingBox computeBoundingBox (const osg::Matrix &m=osgShadow::ConvexPolyhedron::defaultMatrix) const
 
osg::GeometrybuildGeometry (const osg::Vec4d &colorOutline, const osg::Vec4d &colorInside, osg::Geometry *useGeometry=NULL) const
 
bool dumpGeometry (const Face *face=NULL, const osg::Plane *plane=NULL, ConvexPolyhedron *basehull=NULL, const char *filename="convexpolyhedron.osg", const osg::Vec4d &colorOutline=osg::Vec4(0, 1, 0, 0.5), const osg::Vec4d &colorInside=osg::Vec4(0, 1, 0, 0.25), const osg::Vec4d &faceColorOutline=osg::Vec4(0, 0, 1, 0.5), const osg::Vec4d &faceColorInside=osg::Vec4(0, 0, 1, 0.25), const osg::Vec4d &planeColorOutline=osg::Vec4(1, 0, 0, 0.5), const osg::Vec4d &planeColorInside=osg::Vec4(1, 0, 0, 0.25), const osg::Vec4d &baseColorOutline=osg::Vec4(0, 0, 0, 0.5), const osg::Vec4d &baseColorInside=osg::Vec4(0, 0, 0, 0.25)) const
 

Static Public Member Functions

static int pointsColinear (const osg::Vec3d &va, const osg::Vec3d &vb, const osg::Vec3d &vc, const double &edge_normal_dot_tolerance=0.0, const double &null_edge_length_tolerance=0.0)
 
static int isFacePolygonConvex (Face &face, bool ignoreCollinearVertices=true)
 

Public Attributes

Faces _faces
 

Static Public Attributes

static const osg::MatrixdefaultMatrix
 

The documentation for this class was generated from the following file: