CGAL 5.6 - Linear Cell Complex
CGAL::Linear_cell_complex_incremental_builder_3< LCC > Class Template Reference

#include <CGAL/Linear_cell_complex_incremental_builder_3.h>


The auxiliary class Linear_cell_complex_incremental_builder_3 supports the incremental construction of linear cell complexes.

Template Parameters
LCCmust be a model of the concept LinearCellComplex

Public Types

typedef LCC_ LCC
typedef LCC::Dart_descriptor DH
typedef LCC::Vertex_attribute_descriptor VAH
typedef LCC::Point Point_3
typedef LCC::size_type size_type


 Linear_cell_complex_incremental_builder_3 (LCC &alcc)

Surface Creation

To build a linear cell complex, the following regular expression gives the correct and allowed order and nesting of method calls from this section:

When an edge is added in a facet, if the same edge exists in another facet of the same surface, then the two facets are glued along this edge.

When a facet is added, if the same facet exists in another surface, the two surfaces are glued along this facet.

void begin_surface ()
 starts a new surface.
VAH add_vertex (const Point_3 &p)
 adds a new vertex for p and returns its handle.
void begin_facet ()
 starts a new facet.
void add_vertex_to_facet (size_type i)
 adds vertex i at the end of the current facet.
DH end_facet ()
 ends the construction of the facet and returns the first dart of this facet.
DH end_surface ()
 ends the construction of the surface and returns one dart of the created surface.

Additional Operations

DH add_facet (std::initializer_list< size_type > l)
 is a synonym for begin_facet(), a call to add_vertex_to_facet() for each value in the range [first,beyond), and a call to end_facet().