Inheritance diagram for osgUtil::DelaunayConstraint:
Public Member Functions | |
DelaunayConstraint () | |
void | addtriangle (const int i1, const int i2, const int i3) |
collect up indices of triangle from delaunay triangles. | |
const osg::DrawElementsUInt * | getTriangles () const |
Get the filling primitive. | |
osg::DrawElementsUInt * | getTriangles () |
osg::Vec3Array * | getPoints (const osg::Vec3Array *points) |
Call BEFORE makeDrawable to reorder points to make optimised set. | |
osg::DrawElementsUInt * | makeDrawable () |
converts simple list of triangles into a drawarray. | |
void | merge (DelaunayConstraint *dco) |
Add vertices and constraint loops from dco Can be used to generate extra vertices where dco crosses 'this' using osgUtil::tesselator to insert overlap vertices. | |
void | removeVerticesInside (const DelaunayConstraint *dco) |
remove from line the vertices that are inside dco | |
float | windingNumber (const osg::Vec3 testpoint) const |
return winding number as a float of loop around testpoint; may use multiple loops does not reject points on the edge or very very close to the edge | |
virtual bool | contains (const osg::Vec3 testpoint) const |
true if testpoint is internal (or external) to constraint. | |
virtual bool | outside (const osg::Vec3 testpoint) const |
void | handleOverlaps (void) |
Tesselate the constraint loops so that the crossing points are interpolated and added to the contraints for the triangulation. | |
Protected Types | |
typedef std::vector< int * > | trilist |
Protected Member Functions | |
virtual | ~DelaunayConstraint () |
Protected Attributes | |
trilist | _interiorTris |
osg::ref_ptr< osg::DrawElementsUInt > | prim_tris_ |
Just create a DelaunayTriangulator, assign it the sample point array and call its triangulate() method to start the triangulation. Then you can obtain the generated primitive by calling the getTriangles() method.
Add DelaunayConstraints (or derived class) to control the triangulation edges.
|
|
|
|
|
|
|
collect up indices of triangle from delaunay triangles. The delaunay triangles inside the DelaunayConstraint area can be used to fill the area or generate geometry that terrain follows the area in some way. These triangles can form a canopy or a field. |
|
true if testpoint is internal (or external) to constraint.
|
|
Call BEFORE makeDrawable to reorder points to make optimised set.
|
|
|
|
Get the filling primitive. One: triangulate must have bneen called and two: triangle list is filled when DelaunayTriangulator::removeInternalTriangles is called. These return the triangles removed from the delaunay triangulation by DelaunayTriangulator::removeInternalTriangles. |
|
Tesselate the constraint loops so that the crossing points are interpolated and added to the contraints for the triangulation.
|
|
converts simple list of triangles into a drawarray.
|
|
Add vertices and constraint loops from dco Can be used to generate extra vertices where dco crosses 'this' using osgUtil::tesselator to insert overlap vertices.
|
|
|
|
remove from line the vertices that are inside dco
|
|
return winding number as a float of loop around testpoint; may use multiple loops does not reject points on the edge or very very close to the edge
|
|
|
|
|