OpenSceneGraph
3.5.1
|
Classes | |
struct | Face |
Public Types | |
typedef std::vector< osg::Vec3d > | Vertices |
typedef std::list< Face > | Faces |
Public Member Functions | |
ConvexPolyhedron (void) | |
ConvexPolyhedron (const osg::Matrix &matrix, const osg::Matrix &inverse, const osg::BoundingBox &bb=osg::BoundingBox(-1,-1,-1, 1, 1, 1)) | |
Face & | createFace () |
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::Geometry * | buildGeometry (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::Matrix & | defaultMatrix |
typedef std::list<Face> osgShadow::ConvexPolyhedron::Faces |
typedef std::vector<osg::Vec3d> osgShadow::ConvexPolyhedron::Vertices |
|
inline |
osgShadow::ConvexPolyhedron::ConvexPolyhedron | ( | const osg::Matrix & | matrix, |
const osg::Matrix & | inverse, | ||
const osg::BoundingBox & | bb = osg::BoundingBox(-1,-1,-1, 1, 1, 1) |
||
) |
osg::Geometry* osgShadow::ConvexPolyhedron::buildGeometry | ( | const osg::Vec4d & | colorOutline, |
const osg::Vec4d & | colorInside, | ||
osg::Geometry * | useGeometry = NULL |
||
) | const |
bool osgShadow::ConvexPolyhedron::checkCoherency | ( | bool | checkForNonConvexPolys = false , |
const char * | errorPrefix = NULL |
||
) |
|
inline |
osg::BoundingBox osgShadow::ConvexPolyhedron::computeBoundingBox | ( | const osg::Matrix & | m = osgShadow::ConvexPolyhedron::defaultMatrix | ) | const |
|
inline |
void osgShadow::ConvexPolyhedron::cut | ( | const osg::Polytope & | polytope | ) |
void osgShadow::ConvexPolyhedron::cut | ( | const ConvexPolyhedron & | polytope | ) |
void osgShadow::ConvexPolyhedron::cut | ( | const osg::Plane & | plane, |
const std::string & | name = std::string() |
||
) |
bool osgShadow::ConvexPolyhedron::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 |
void osgShadow::ConvexPolyhedron::extrude | ( | const osg::Vec3d & | offset | ) |
void osgShadow::ConvexPolyhedron::getPoints | ( | Vertices & | vertices | ) | const |
void osgShadow::ConvexPolyhedron::getPolytope | ( | osg::Polytope & | polytope | ) | const |
|
static |
void osgShadow::ConvexPolyhedron::mergeCoplanarFaces | ( | const double & | plane_normal_dot_tolerance = 0.0 , |
const double & | plane_distance_tolerance = 0.0 |
||
) |
bool osgShadow::ConvexPolyhedron::mergeFaces | ( | const Face & | face0, |
const Face & | face1, | ||
Face & | face | ||
) |
|
static |
void osgShadow::ConvexPolyhedron::removeDuplicateVertices | ( | void | ) |
void osgShadow::ConvexPolyhedron::setToBoundingBox | ( | const osg::BoundingBox & | bb | ) |
void osgShadow::ConvexPolyhedron::setToUnitFrustum | ( | bool | withNear = true , |
bool | withFar = true |
||
) |
void osgShadow::ConvexPolyhedron::transform | ( | const osg::Matrix & | matrix, |
const osg::Matrix & | inverse | ||
) |
void osgShadow::ConvexPolyhedron::transformClip | ( | const osg::Matrix & | matrix, |
const osg::Matrix & | inverse | ||
) |
void osgShadow::ConvexPolyhedron::translate | ( | const osg::Vec3d & | offset | ) |
Faces osgShadow::ConvexPolyhedron::_faces |
|
static |
Generated at Wed Nov 11 2015 22:15:06 for the OpenSceneGraph by doxygen 1.8.10. |