23 #if GEOM_PSEUDO3D==GEOM_TRUE
24 namespace GEOM_FADE25D {
25 #elif GEOM_PSEUDO3D==GEOM_FALSE
26 namespace GEOM_FADE2D {
28 #error GEOM_PSEUDO3D is not defined
32 class ConstraintGraph2;
47 #if GEOM_PSEUDO3D==GEOM_TRUE
48 CIS_CONFORMING_DELAUNAY_SEGMENT_LEVEL=2,
75 friend class ConstraintMgr;
105 bool dbg_hasDirection();
151 if(p0<pOther.p0)
return true;
152 if(p0>pOther.p0)
return false;
180 bool split_combinatorialOnly(
Point2* pSplit);
184 bool splitAndRemovePrev(
const Point2& split);
228 size_t getNumberOfOwners()
const;
236 void setAdjacentArea(
double adjacentArea_);
240 int getLabel()
const;
244 std::string getLabelString()
const;
249 double getAdjacentArea()
const;
251 static int runningLabel;
255 std::set<ConstraintGraph2*> sOwners;
259 std::vector<ConstraintSegment2*> vChildren;
260 std::vector<ConstraintSegment2*> vParents;
std::ostream & operator<<(std::ostream &stream, const Bbox2 &pC)
Prints the bounding box to a stream.
Definition: Bbox2.h:605
ConstraintInsertionStrategy
Enum defining the available strategies for inserting constraints.
Definition: ConstraintSegment2.h:44
@ CIS_KEEP_DELAUNAY
Definition: ConstraintSegment2.h:50
@ CIS_CONSTRAINED_DELAUNAY
The only recommended insertion strategy.
Definition: ConstraintSegment2.h:46
@ CIS_CONFORMING_DELAUNAY
Definition: ConstraintSegment2.h:45
@ CIS_IGNORE_DELAUNAY
Definition: ConstraintSegment2.h:51
A constraint graph is a collection of constraint edges (ConstraintSegment2).
Definition: ConstraintGraph2.h:56
A ConstraintSegment2 represents a constraint edge between two vertices of a Delaunay triangulation.
Definition: ConstraintSegment2.h:71
bool operator<(const ConstraintSegment2 &pOther) const
Comparison operator for sorting segments.
Definition: ConstraintSegment2.h:149
CLASS_DECLSPEC Point2 * getSrc() const
Get the first endpoint of the constraint segment.
CLASS_DECLSPEC Point2 * getTrg() const
Get the second endpoint of the constraint segment.
CLASS_DECLSPEC bool isAlive() const
Checks if the segment is alive.
CLASS_DECLSPEC Point2 * insertAndSplit(const Point2 &splitPoint)
Splits a constraint segment at a specified point.
ConstraintInsertionStrategy getCIS() const
Retrieves the constraint insertion strategy (CIS) of this segment.
CLASS_DECLSPEC void getChildrenAndSplitPoint(ConstraintSegment2 *&pCSeg0, ConstraintSegment2 *&pCSeg1, Point2 *&pSplitPoint)
Retrieves the two direct children and the split point.
CLASS_DECLSPEC void getChildrenRec(std::vector< ConstraintSegment2 * > &vChildConstraintSegments)
Retrieves all children of this constraint segment recursively.
Represents a 2D point.
Definition: Point2.h:76