Update doc

This commit is contained in:
Guillaume Damiand 2019-05-15 11:45:31 +02:00
parent 8306e5f064
commit a119c1139c
2 changed files with 6 additions and 3 deletions

View File

@ -33,7 +33,8 @@ namespace Surface_mesh_topology {
/// @pre A facet is under creation.
Dart_handle end_facet();
/// adds one edge to the current facet, given by its label `l` (any string containing no space, using minus sign for orientation)
/// adds one edge to the current facet, given by its label `l` (any string containing no space, using minus sign for orientation).
/// Since the surface is oriented, each label can be used only twice with opposite signs. If this method is called with a label already used, with same sign, an error message is given and this label is ignored.
/// @pre A facet is under creation.
void add_edge_to_facet(const std::string& l);

View File

@ -42,9 +42,11 @@ A `Path_on_surface` behaves as a list. This list is initially empty and the dart
- The user may push the index of the next dart instead of the dart itself with the member function \ref Path_on_surface::push_back_by_index "push_back_by_index()". This may however be at the cost of an overhead computation mapping the index to the actual dart.
- The path may be extended with the member function \ref Path_on_surface::extend_positive_turn "extend_positive_turn()" by specifying the next dart/halfedge thanks to a number of positive turns with respect to the previous dart/halfedge in the path. Calling this previous halfedge `h`, extending by a positive one turn is thus equivalent to extend the path with `h.next()`. An analogous member function \ref Path_on_surface::extend_negative_turn "extend_negative_turn()" is provided for convenience.
In the two first cases, the source vertex of the added dart should coincide with the target vertex of the last dart in the path. The user is responsible for ensuring this condition. The member functions \ref Path_on_surface::can_be_pushed "can_be_pushed()" and \ref Path_on_surface::can_be_pushed_by_index "can_be_pushed_by_index()" return `true` if and only if the condition is satisfied.
In the two first cases, the source vertex of the added dart should coincide with the target vertex of the last dart in the path. The user is responsible for ensuring this condition, otherwise the path is not valid and the homotopy tests will failed. The member functions \ref Path_on_surface::can_be_pushed "can_be_pushed()" and \ref Path_on_surface::can_be_pushed_by_index "can_be_pushed_by_index()" return `true` if and only if the condition is satisfied.
In addition to these functionalities, we provide an intuitive mesh builder `Combinatorial_map_2_incremental_builder`. The user can add facets to the mesh one at a time. Each facet is specified by the sequence of its oriented edge labels given as a string where the labels are words separated by blank spaces. The label of the opposite of an oriented edge is preceded by a minus. For example, the opposite of 'a1' is '-a1'. In the next figure we see three examples of combinatorial maps described by a collection of facets with label edges.
In addition to these functionalities, we provide an intuitive mesh builder `Combinatorial_map_2_incremental_builder`. The user can add facets to the mesh one at a time. Each facet is specified by the sequence of its oriented edge labels given as a string where the labels are words separated by blank spaces. The label of the opposite of an oriented edge is preceded by a minus. For example, the opposite of 'a1' is '-a1'. Since the surface is oriented, each label can be used only twice with opposite signs. If the user try to add a label twice, with same sign, an error message is given and the second label is ignored.
In the next figure we see three examples of combinatorial maps described by a collection of facets with label edges.
\cgalFigureBegin{fig_sm_incremental-builder, incremental-builder.svg}
Left, a surface described by a single facet with eight edges pairwise identified. The resulting (topological) surface is shown in Figure \cgalFigureRef{fig_cut-open}. Middle, a surface described by three labeled quadrilaterals. Right, a single labeled facet. The corresponding surface is topologically equivalent to the middle example.
\cgalFigureEnd