Fade2.5D Documentation pages v2.12
Delaunay Features
GEOM_FADE25D::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
 
Point2p0
 
Point2p1
 
std::vector< ConstraintSegment2 * > vChildren
 

Friends

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_FADE25D::ConstraintSegment2::getCIS ( ) const
Returns
the constraint insertion strategy (CIS) of the present object

◆ getSrc()

Point2* GEOM_FADE25D::ConstraintSegment2::getSrc ( ) const
Returns
the first vertex

◆ getTrg()

Point2* GEOM_FADE25D::ConstraintSegment2::getTrg ( ) const
Returns
the second vertex

◆ insertAndSplit()

Point2* GEOM_FADE25D::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.

Note
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_FADE25D::ConstraintSegment2::isAlive ( ) const
Returns
TRUE when the object is alive, FALSE otherwise

◆ split_combinatorialOnly()

bool GEOM_FADE25D::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: