ConstraintGraph2 is a set of Constraint Edges (ConstraintSegment2)
More...
#include <ConstraintGraph2.h>
 See also
 Fade_2D::createConstraint()
Constrained Delaunay triangulation
◆ getChildConstraintSegments()
void GEOM_FADE25D::ConstraintGraph2::getChildConstraintSegments 
( 
std::vector< ConstraintSegment2 * > & 
vConstraintSegments_  ) 
const 
Returns the current constraint segments, i.e., the original ones or, if splitted, their child segments.
◆ getDirectChildren()
 Parameters

[in]  pParent  is a ConstraintSegment that may have been splitted 
[out]  pChild0,pChild1  are the direct child segments of pParent . They can be alive or dead (splitted). 
The children are returned in the correct order of the present ConstraintGraph2.
◆ getDt2()
Dt2* GEOM_FADE25D::ConstraintGraph2::getDt2 
( 
 ) 

 Returns
 the Delaunay class it belongs to
◆ getInsertionStrategy()
 Returns
 CIS_CONFORMING_DELAUNAY, CIS_CONFORMING_DELAUNAY_SEGMENT_LEVEL or
CIS_CONSTRAINED_DELAUNAY
◆ getOriginalConstraintSegments()
void GEOM_FADE25D::ConstraintGraph2::getOriginalConstraintSegments 
( 
std::vector< ConstraintSegment2 * > & 
vConstraintSegments_  ) 
const 
Get the original, ConstraintSegment2 objects. They are not subdivided but may be dead and have child segments (which may also be dead and have child segments...)
◆ getPolygonVertices()
void GEOM_FADE25D::ConstraintGraph2::getPolygonVertices 
( 
std::vector< Point2 * > & 
vVertices_  ) 

Use this method to retrieve the vertices of the present ConstraintGraph2. If it forms ONE closed polygon, then the vertices are ordered and oriented in counterclockwise direction, e.g. (a,b,b,c,c,d,d,a). Otherwise they are returned in original order. Be aware that the order is only maintained if the ConstraintGraph2 has been created with Fade_2D::createConstraint(..,..,bOrientedSegments=true
).
 Note
 The segments of the present ConstraintGraph2 may have been splitted. In this case the split points are also contained in the result. If, in the above example, the ConstraintSegment2(a,b) has been subdivided at vertex x then the result is (a,x,x,b,b,c,c,d,d,a).
 See also
 Do you already know Zone2::getBorderEdges() and edgesToPolygons() ?
◆ isConstraint() [1/2]
The present ConstraintGraph2 has been created using a set of edges and this method checks if the ConstraintSegment2 pCSeg
is one of them. Original edges that have been splitted are not alive anymore and are no members. But their child segments are members.
◆ isConstraint() [2/2]
bool GEOM_FADE25D::ConstraintGraph2::isConstraint 
( 
Point2 * 
p0, 


Point2 * 
p1 

) 
 const 
Checks if the edge (p0,p1) is a constraint of the present ConstraintGraph2 object.
◆ isOriented()
bool GEOM_FADE25D::ConstraintGraph2::isOriented 
( 
 ) 
const 
 Returns
 true if the constraint graph has been created with bOrientedSegments=true or if automatic reorientation was possible which is the case for simple polygons.
◆ isPolygon()
bool GEOM_FADE25D::ConstraintGraph2::isPolygon 
( 
 ) 
const 
 Returns
 true when the present ConstraintGraph forms a closed polygon.
 Note
 This method won't check if it is a simple polygon (one without selfintersections).
◆ isReverse()
Get the orientation of a ConstraintSegment2
A ConstraintSegment2 pCSeg
is unoriented because it may participate (with different orientations) in more than just one ConstraintGraph2 and thus the vertices returned by pCSeg>getSrc() and pCSeg>getTrg() do not carry any orientation information. However, the orientation of pCSeg
is stored in the ConstraintGraph2 objects where pCSeg
is a member and this method returns if the source and target vertex must be exchanged to match the present graph's direction.
◆ makeDelaunay()
bool GEOM_FADE25D::ConstraintGraph2::makeDelaunay 
( 
double 
minLength  ) 

Improve the triangle quality (make Delaunay)
Constraint segments can make a triangulation locally nondelaunay i.e., the emptycircumcircle property is not maintained for all triangles. makeDelaunay()
subdivides the constraint segments so that they appear naturally as part of the Delaunay triangulation. Use this function to create visually more appealing triangles with better aspect ratios.
 Note
 This optimization considers the projection of the triangles to the xy plane.
 Parameters

[in]  minLength  specifies a lower bound. Constraint segments smaller than minLength are not subdivided. This parameter avoids excessive subdivision in narrow settings. 
 Returns
 TRUE when all required somedevisions have been carried out or FALSE when
minLength
has avoided further subdivision.
The documentation for this class was generated from the following file: