CGAL 4.14 - dD Triangulations
TriangulationDSFace Concept Reference

## Definition

A TriangulationDSFace describes a face f with dimension k (a k-face) in a triangulation. It gives access to a handle to a full cell c containing the face f in its boundary, as well as the indices of the vertices of f in c. It must hold that f is a proper face of full cell c, i.e., the dimension of f is strictly less than the dimension of c. The dimension of a face is implicitely set when TriangulationDSFace::set_index is called. For example, if TriangulationDSFace::set_index is called two times to set the first two vertices (i = 0 and i = 1), then the dimension is 1.

Has Models:
CGAL::Triangulation_face<TriangulationDataStructure_>
TriangulationDSFullCell
TriangulationDSVertex
TriangulationDataStructure

## Types

typedef unspecified_type Triangulation_data_structure
The Triangulation_data_structure in which the TriangulationDSFace is defined/used. More...

typedef unspecified_type Full_cell_handle
Must be the same as the nested type Triangulation_data_structure::Full_cell_handle.

typedef unspecified_type Vertex_handle
Must be the same as the nested type Triangulation_data_structure::Vertex_handle.

## Creation

There is no default constructor, since the maximal dimension (of the full cells) must be known by the constructors of a TriangulationDSFace.

TriangulationDSFace (TriangulationDSFace g)
Copy constructor.

TriangulationDSFace (Full_cell_handle c)
Sets the face's full cell to c and the maximal dimension to c.maximal_dimension(). More...

TriangulationDSFace (const int md)
Setup the face knowing the maximal dimension md. More...

## Access Functions

Full_cell_handle full_cell () const
Returns a handle to a cell that has the face in its boundary.

int face_dimension () const
Returns the dimension of the face (one less than the number of vertices).

int index (int i) const
Returns the index of the i-th vertex of the face in the cell f.full_cell(). More...

Vertex_handle vertex (int i) const
Returns a handle to the i-th Vertex of the face in the cell f. More...

## Update Functions

void clear ()
Sets the facet to the empty set. More...

void set_full_cell (Full_cell_handle c)
Sets the cell of the face to c. More...

void set_index (int i, int j)
Sets the index of the i-th vertex of the face to be the j-th vertex of the full cell. More...

## ◆ Triangulation_data_structure

The Triangulation_data_structure in which the TriangulationDSFace is defined/used.

Must be a model of the TriangulationDataStructure concept.

## ◆ TriangulationDSFace() [1/2]

 TriangulationDSFace::TriangulationDSFace ( Full_cell_handle c )

Sets the face's full cell to c and the maximal dimension to c.maximal_dimension().

Precondition
c!=Full_cell_handle()

## ◆ TriangulationDSFace() [2/2]

 TriangulationDSFace::TriangulationDSFace ( const int md )

Setup the face knowing the maximal dimension md.

Sets the face's full cell to the default-constructed one.

## ◆ clear()

 void TriangulationDSFace::clear ( )

Sets the facet to the empty set.

Maximal dimension remains unchanged.

## ◆ index()

 int TriangulationDSFace::index ( int i ) const

Returns the index of the i-th vertex of the face in the cell f.full_cell().

Precondition
$$0 \leq i \leq$$f.face_dimension().

## ◆ set_full_cell()

 void TriangulationDSFace::set_full_cell ( Full_cell_handle c )

Sets the cell of the face to c.

Precondition
c!=Full_cell_handle()

## ◆ set_index()

 void TriangulationDSFace::set_index ( int i, int j )

Sets the index of the i-th vertex of the face to be the j-th vertex of the full cell.

Precondition
$$0 \leq i \leq$$ f.full_cell()->face_dimension().
$$0 \leq j \leq$$ f.full_cell()->maximal_dimension().

## ◆ vertex()

 Vertex_handle TriangulationDSFace::vertex ( int i ) const

Returns a handle to the i-th Vertex of the face in the cell f.

full_cell().

Precondition
$$0 \leq i \leq$$ f.face_dimension().