In a constrained triangulation, the information about constrained edges is stored in the faces of the triangulation. The base face of a constrained triangulation has to be a model of the concept ConstrainedTriangulationFaceBase_2 which refines the concept TriangulationFaceBase_2 providing functionalities to deal with constraints.




Defines the same types as the TriangulationFaceBase_2 concept

Access Functions

bool f.is_constrained ( int i) returns true if the edge between f and its neighbor f.neighbor(i) is constrained.
Precondition: 0 i 2.

begin of advanced section  advanced  begin of advanced section


void f.set_constraint ( int i, bool b) sets the edge between f and its neighbor f.neighbor(i) as a constrained or unconstrained edge according to b.

void f.set_constraints ( bool c0, bool c1, bool c2)
sets the status (constrained or unconstrained) of the three edges of f.

void f.reorient () Changes the orientation of f by exchanging vertex(0) with vertex(1) and neighbor(0) with neighbor(1) and the corresponding constrained status.

void f.ccw_permute () performs a counterclockwise permutation of the vertices, neighbors and constrained status of f.

void f.cw_permute () performs a clockwise permutation of the vertices and neighbors and constrained status of f.


bool f.is_valid () tests the validity of face f as a face of a plain triangulation and additionally checks if the edges of f are consistently marked as constrained or unconstrained edges in face fand its neighbors.
end of advanced section  advanced  end of advanced section

Has Models


See Also