## ConstrainedTriangulationFaceBase_2

### Definition

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.

### Refines

TriangulationFaceBase_2

### Types

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.

| advanced |

### Modifiers

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.

### Miscelleanous

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.

| advanced |

### Has Models

CGAL::Constrained_triangulation_face_base_2<Traits>

### See Also

TriangulationFaceBase_2
CGAL::Constrained_triangulation_2<Traits,Tds>
CGAL::Constrained_triangulation_face_base_2<Traits>