Fade2D Documentation pages v2.12
Delaunay Features
GEOM_FADE2D::ConstraintSegment2 Class Reference

A ConstraintSegment2 represents a Constraint Edge. More...

#include <ConstraintSegment2.h>

Public Member Functions

void getChildrenAndSplitPoint (ConstraintSegment2 *&pCSeg0, ConstraintSegment2 *&pCSeg1, Point2 *&pSplitPoint)
 Get the children and the split point Retrieve the two direct children of the current ConstraintSegment2 as well as the split point.
void getChildrenRec (std::vector< ConstraintSegment2 * > &vChildConstraintSegments)
 Get all children Recursively retrieve all children of the current ConstraintSegment2.
ConstraintInsertionStrategy getCIS () const
 Get the Constraint Insertion Strategy (CIS) More...
int getLabel () const
std::string getLabelString () const
Point2getSrc () const
 Get the first endpoint. More...
Point2getTrg () const
 Get the second endpoint. More...
Point2insertAndSplit (const Point2 &splitPoint)
 Split a constraint segment. More...
bool isAlive () const
 Check if the present ConstraintSegment2 is alive. More...
bool operator< (const ConstraintSegment2 &pOther) const
 operator<(..) Compares the vertex pointers of the endpoints, not the length
bool split_combinatorialOnly (Point2 *pSplit)
 Split a constraint segment. More...

Public Attributes

int label

Static Public Attributes

static int runningLabel

Protected Attributes

bool bAlive
ConstraintInsertionStrategy cis
std::vector< ConstraintSegment2 * > vChildren


class ConstraintGraph2
class ConstraintMgr
std::ostream & operator<< (std::ostream &stream, const ConstraintSegment2 &cSeg)

Detailed Description

A ConstraintSegment2 can belong to more than one ConstraintGraph2 object, thus it is unoriented. But the ConstraintGraph knows the orientation of its ConstraintSegment2's.

Member Function Documentation

◆ getCIS()

ConstraintInsertionStrategy GEOM_FADE2D::ConstraintSegment2::getCIS ( ) const
the constraint insertion strategy (CIS) of the present object

◆ getSrc()

Point2* GEOM_FADE2D::ConstraintSegment2::getSrc ( ) const
the first vertex

◆ getTrg()

Point2* GEOM_FADE2D::ConstraintSegment2::getTrg ( ) const
the second vertex

◆ insertAndSplit()

Point2* GEOM_FADE2D::ConstraintSegment2::insertAndSplit ( const Point2 splitPoint)

Splits the ConstraintSegment2 (which must be alive) at splitPoint.

It may be impossible to represent a point exactly on a line segment using floatingpoint arithmetic. Therefore it is highly recommended to split a ConstraintSegment2 object not just be inserting points into the triangulation but using the present method. It does not require that splitPoint is exactly on the segment.

A splitted ConstraintSegment2 is dead and it has two child segments (which may also be dead and have children). The class is organized as a binary tree.

◆ isAlive()

bool GEOM_FADE2D::ConstraintSegment2::isAlive ( ) const
TRUE when the object is alive, FALSE otherwise

◆ split_combinatorialOnly()

bool GEOM_FADE2D::ConstraintSegment2::split_combinatorialOnly ( Point2 pSplit)

internal use only (unless you do something very unusual)

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