VR-Forces 4.0.4 Class Documentation
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes
makOsgShadowFX::ConvexPolyhedron Class Reference

List of all members.

Classes

struct  Face

Public Types

typedef std::vector< osg::Vec3d > Vertices
typedef std::list< FaceFaces

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))
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=makOsgShadowFX::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

Member Typedef Documentation

typedef std::vector<osg::Vec3d> makOsgShadowFX::ConvexPolyhedron::Vertices

Constructor & Destructor Documentation

makOsgShadowFX::ConvexPolyhedron::ConvexPolyhedron ( const osg::Matrix &  matrix,
const osg::Matrix &  inverse,
const osg::BoundingBox &  bb = osg::BoundingBox(-1,-1,-1, 1, 1, 1) 
)

Member Function Documentation

References _faces.

References _faces.

void makOsgShadowFX::ConvexPolyhedron::setToUnitFrustum ( bool  withNear = true,
bool  withFar = true 
)
void makOsgShadowFX::ConvexPolyhedron::setToBoundingBox ( const osg::BoundingBox &  bb)
void makOsgShadowFX::ConvexPolyhedron::transform ( const osg::Matrix &  matrix,
const osg::Matrix &  inverse 
)
void makOsgShadowFX::ConvexPolyhedron::transformClip ( const osg::Matrix &  matrix,
const osg::Matrix &  inverse 
)
bool makOsgShadowFX::ConvexPolyhedron::mergeFaces ( const Face face0,
const Face face1,
Face face 
)
void makOsgShadowFX::ConvexPolyhedron::mergeCoplanarFaces ( const double &  plane_normal_dot_tolerance = 0.0,
const double &  plane_distance_tolerance = 0.0 
)
static int makOsgShadowFX::ConvexPolyhedron::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]
static int makOsgShadowFX::ConvexPolyhedron::isFacePolygonConvex ( Face face,
bool  ignoreCollinearVertices = true 
) [static]
bool makOsgShadowFX::ConvexPolyhedron::checkCoherency ( bool  checkForNonConvexPolys = false,
const char *  errorPrefix = NULL 
)
void makOsgShadowFX::ConvexPolyhedron::cut ( const osg::Polytope &  polytope)
void makOsgShadowFX::ConvexPolyhedron::cut ( const osg::Plane &  plane,
const std::string &  name = std::string() 
)
void makOsgShadowFX::ConvexPolyhedron::extrude ( const osg::Vec3d &  offset)
void makOsgShadowFX::ConvexPolyhedron::translate ( const osg::Vec3d &  offset)
void makOsgShadowFX::ConvexPolyhedron::getPolytope ( osg::Polytope &  polytope) const
osg::Geometry* makOsgShadowFX::ConvexPolyhedron::buildGeometry ( const osg::Vec4d &  colorOutline,
const osg::Vec4d &  colorInside,
osg::Geometry *  useGeometry = NULL 
) const
bool makOsgShadowFX::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

Member Data Documentation

Referenced by clear(), and createFace().


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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)