diff --git a/Combinatorial_map/doc/Combinatorial_map/Combinatorial_map.txt b/Combinatorial_map/doc/Combinatorial_map/Combinatorial_map.txt index c917ca89281..c73ab7b13ab 100644 --- a/Combinatorial_map/doc/Combinatorial_map/Combinatorial_map.txt +++ b/Combinatorial_map/doc/Combinatorial_map/Combinatorial_map.txt @@ -1165,13 +1165,13 @@ because parameters are different depending on `i` and `j`. `::insert_cell_0_in_cell_1(cm,dh0)` adds a 0-cell in the 1-cell containing dart `d0`. The 1-cell is split in two. This operation is -possible if `d0`\f$ \in\f$`cm.darts()` (see example on +possible if `d0`\f$ \in\f$\ref CombinatorialMap::darts "cm.darts()" (see example on \cgalFigureRef{figinsertvertex}). `::insert_cell_0_in_cell_2(cm,dh0)` adds a 0-cell in the 2-cell containing dart `d0`. The 2-cell is split in triangles, one for each initial edge of the facet. This operation is possible if `d0`\f$ -\in\f$`cm.darts()` (see example on \cgalFigureRef{figtriangulate}). +\in\f$\ref CombinatorialMap::darts "cm.darts()" (see example on \cgalFigureRef{figtriangulate}). \cgalFigureBegin{figtriangulate,triangulation.png} Example of `::insert_cell_0_in_cell_2` operation. @@ -1201,7 +1201,7 @@ map. `::insert_dangling_cell_1_in_cell_2(cm,dh0)` adds a 1-cell in the 2-cell containing dart `d0`, the 1-cell being attached by only one of its vertex to the 0-cell containing dart `d0`. This operation is -possible if `d0`\f$ \in\f$`cm.darts()`. +possible if `d0`\f$ \in\f$\ref CombinatorialMap::darts "cm.darts()". `::insert_cell_2_in_cell_3(cm,itbegin,itend)` adds a 2-cell in the 3-cell containing all the darts between `itbegin` and `itend`, along diff --git a/Documentation/doxyassist.xml b/Documentation/doxyassist.xml index 13e789c506e..736753b392a 100644 --- a/Documentation/doxyassist.xml +++ b/Documentation/doxyassist.xml @@ -325,7 +325,6 @@ namespace for the XML file to be processed properly. --> ../Combinatorial_map/examples ../Combinatorial_map/doc/Combinatorial_map/fig - ./tags/HalfedgeDS.tag=../../CGAL.CGAL.Halfedge-Data-Structures/html ./tags/Polyhedron.tag=../../CGAL.CGAL.3D-Polyhedral-Surface/html ./tags/Linear_cell_complex.tag=../../CGAL.CGAL.Linear-Cell-Complex/html @@ -342,8 +341,12 @@ namespace for the XML file to be processed properly. --> ../Linear_cell_complex/examples ../Linear_cell_complex/doc/Linear_cell_complex/fig + ./tags/HalfedgeDS.tag=../../CGAL.CGAL.Halfedge-Data-Structures/html ./tags/Polyhedron.tag=../../CGAL.CGAL.3D-Polyhedral-Surface/html + ./tags/Triangulation_3.tag=../../CGAL.CGAL.3D-Triangulations/html ./tags/Combinatorial_map.tag=../../CGAL.CGAL.Combinatorial-Maps/html + ./tags/Kernel_23.tag=../../CGAL.CGAL.2D-and-3D-Linear-Geometry-Kernel/html + ./tags/Kernel_d.tag=../../CGAL.CGAL.dD-Geometry-Kernel/html diff --git a/Linear_cell_complex/doc/Linear_cell_complex/Linear_cell_complex.txt b/Linear_cell_complex/doc/Linear_cell_complex/Linear_cell_complex.txt index 13b1b36e8b1..5d2fc5e379f 100644 --- a/Linear_cell_complex/doc/Linear_cell_complex/Linear_cell_complex.txt +++ b/Linear_cell_complex/doc/Linear_cell_complex/Linear_cell_complex.txt @@ -1,7 +1,7 @@ namespace CGAL { /*! -\mainpage User Manual +\mainpage User Manual \anchor Chapter_Linear_Cell_Complex \anchor ChapterLinearCellComplex @@ -20,10 +20,10 @@ on. The combinatorial part of a linear cell complex is described by a dD combinatorial map (it is strongly recommended to first -read \ref ChapterCombinatorialMap +read the \ref ChapterCombinatorialMap "Combinatorial maps user manual" for definitions). To add the linear geometrical embedding, a point (a model of -`Point_2` or `Point_3` or `Point_d`) is +\ref Kernel::Point_2 "Point_2" or \ref Kernel::Point_3 "Point_3" or \ref Kernel_d::Point_d "Point_d") is associated to each vertex of the combinatorial map. \cgalFigureBegin{figexempleintroductif,objects2d-3d.png} @@ -62,37 +62,38 @@ classes of the package. `Linear_cell_complex` is the main class (see Section \ref sseclinearcellcomplex), which inherits from the `Combinatorial_map` class. Attributes can be associated to some cells of the linear cell complex thanks to an items class (see -Section \ref sseclccitem), which defines the dart type and the +Section \ref sseclccitem "Linear Cell Complex Items"), which defines the dart type and the attributes types. These types may be different for different dimensions of cells, and they may also be void. In the class `Linear_cell_complex`, it is required that specific attributes are associated to all vertices of the combinatorial map. These attributes must contain a point (a model of -`Point_2` or `Point_3` or `Point_d`), + (a model of +\ref Kernel::Point_2 "Point_2" or \ref Kernel::Point_3 "Point_3" or \ref Kernel_d::Point_d "Point_d"), and can be represented by instances of class `Cell_attribute_with_point` (see -Section \ref ssecattributewp). +Section \ref ssecattributewp "Cell Attributes"). \cgalFigureBegin{figdiagram_class_lcc,Diagramme_class.png} -UML diagram of the main classes of the package. Gray elements come from the \ref ChapterCombinatorialMap. +UML diagram of the main classes of the package. Gray elements come from the \ref ChapterCombinatorialMap "Combinatorial maps package". \cgalFigureEnd \section sseclinearcellcomplex Linear Cell Complex -The `Linear_cell_complex` class +The \ref CGAL::Linear_cell_complex "Linear_cell_complex" class is a model of the `CombinatorialMap` concept. It guarantees that each vertex of the combinatorial map is associated with an attribute containing a point. This class can be used in geometric algorithms (it -plays the same role as `Polyhedron_3` for `HalfedgeDS`). +plays the same role as `Polyhedron_3` for \ref chapterHalfedgeDS "Halfedge Data Structures"). This class has five template parameters standing for the dimension of the combinatorial map, the dimension of the ambient space, a traits class (a model of the `LinearCellComplexTraits` concept, see -Section \ref sseclcctraits), an items class (a model of the +Section \ref sseclcctraits "Linear Cell Complex Traits"), an items class (a model of the `LinearCellComplexItems` concept, see -Section \ref sseclccitem), and an allocator which must be a model -of the allocator concept of \stl. Default classes are provided for +Section \ref sseclccitem "Linear Cell Complex Items"), and an allocator which must be a model +of the allocator concept of \stl. %Default classes are provided for the traits, items, and for the allocator classes, and by default `d2=d`. @@ -117,18 +118,18 @@ class is a model of the `CellAttributeWithPoint` concept, which is a refinement of the `CellAttribute` concept. It represents an attribute associated with a cell, which can contain an information (depending on whether `Info_==void` or not), but which always -contains a point, an instance of `LCC::Point`. +contains a point, an instance of \ref Linear_cell_complex::Point "LCC::Point". \subsection Linear_cell_complexLinearCellComplexTraits Linear Cell Complex Traits \anchor sseclcctraits The `LinearCellComplexTraits` geometric traits concept defines the required types and functors used in the `Linear_cell_complex` -class. For example it defines `Point`, the type of points used, -and `Vector`, the corresponding vector type. It also defines all +class. For example it defines \ref LinearCellComplexTraits::Point "Point", the type of points used, +and \ref LinearCellComplexTraits::Vector "Vector", the corresponding vector type. It also defines all the required functors used for constructions and operations, as for -example `Construct_translated_point` or -`Construct_sum_of_vectors`. +example \ref LinearCellComplexTraits::Construct_translated_point "Construct_translated_point" or +\ref LinearCellComplexTraits::Construct_sum_of_vectors "Construct_sum_of_vectors". The class `Linear_cell_complex_traits` is a model of `LinearCellComplexTraits`. It defines the different types which @@ -148,32 +149,32 @@ The class `Linear_cell_complex_min_items` is a model of `LinearCellComplexItems`. It uses `Dart`, and instances of `Cell_attribute_with_point` (which contain no information) associated to each vertex. All other -attributes are void. +attributes are `void`. \section Linear_cell_complexOperations Operations Several operations defined in the combinatorial maps package can be used on a linear cell complex. This is the case for all the iteration -operations that do not modify the model (see example in -Section \ref ssec3Dlcc). This is also the case for -all the operations that do not create new 0-cells: `sew`, -`unsew`, `remove_cell`, `insert_cell_1_in_cell_2`, -`insert_cell_2_in_cell_3`. Indeed, all these operations update -non void attributes, and thus update vertex attributes of a linear +operations that do not modify the model (see example in +Section \ref ssec3Dlcc "A 3D Linear Cell Complex"). This is also the case for +all the operations that do not create new 0-cells: \ref CombinatorialMap::sew "sew", +\ref CombinatorialMap::unsew "unsew", `::remove_cell`, `::insert_cell_1_in_cell_2`, +`::insert_cell_2_in_cell_3`. Indeed, all these operations update +non `void` attributes, and thus update vertex attributes of a linear cell complex. Note that some existing 0-attributes can be duplicated -by the `unsew` method, but these 0-attributes are not new but +by the \ref CombinatorialMap::unsew "unsew" method, but these 0-attributes are not new but copies of existing old 0-attributes. However, operations that create a new 0-cell can not be directly used since the new 0-cell would not be associated with a vertex attribute. Indeed, it is not possible for these operations to automatically decide which point to create. These operations are: -`insert_cell_0_in_cell_1`, `insert_cell_0_in_cell_2` -`insert_dangling_cell_1_in_cell_2`, plus all the creation +`::insert_cell_0_in_cell_1`, `::insert_cell_0_in_cell_2`, +`::insert_dangling_cell_1_in_cell_2`, plus all the creation operations. For these operations, new versions are proposed taking some points as additional parameters. Lastly, some new operations are -defined, which use the geometry (see sections \ref ssecconstructionsop and -\ref ssecmodifop). +defined, which use the geometry (see sections \ref ssecconstructionsop +"Construction Operations" and \ref ssecmodifop "Modification Operations"). All the operations given in this section guarantee that given a valid linear cell complex and a possible operation, the result is a valid @@ -184,42 +185,43 @@ restore the validity conditions. \subsection sseclcclinkdarts Sewing and Unsewing As explained in the combinatorial map user manual, -Section \ref sseclinkdarts, it is possible to glue two i-cells -along an (i-1)-cell by using the `sew` method. Since +Section \ref sseclinkdarts "Sewing Orbits and Linking Darts", it is possible to glue two i-cells +along an (i-1)-cell by using the \ref CombinatorialMap::sew "sew" method. Since this method updates non void attributes, and since points are specific -attributes, they are automatically updated during the `sew` +attributes, they are automatically updated during the \ref CombinatorialMap::sew "sew" method. Thus the sewing of two i-cells could deform the geometry of the concerned objects. For example, in \cgalFigureRef{figlccexemplesew}, we want to 3-sew the -two initial 3-cells. `sew<3>(1,5)` links by \f$ \beta_3\f$ the pairs +two initial 3-cells. \ref CombinatorialMap::sew "sew<3>(1,5)" links by \f$ \beta_3\f$ the pairs of darts (1,5), (2,8), (3,7) and (4,6). The eight vertex attributes around the facet between the two 3-cells before the sew are merged by -pair during the sew operation (and the `On_merge` functor is +pair during the sew operation (and the \ref CellAttribute::On_merge "On_merge" functor is called four times). Thus, after the sew, there are only four 0-attributes around the facet. By default, the attributes associated with the first dart of the sew operation are kept (but this can be modified by defining your own functor in the attribute class as -explained in the package combinatorial map, Section \ref sseclinkdarts). +explained in the package combinatorial map, Section \ref sseclinkdarts "Sewing Orbits and Linking Darts"). Intuitively, the geometry of the second 2-cell is deformed to fit to the first 2-cell. \cgalFigureBegin{figlccexemplesew,exemple-lcc3d-sew.png} -Example of 3-sew operation for linear cell complex. Left: A 3D linear cell complex containing two 3-cells that are not connected. Vertex attributes are drawn with circles containing point coordinates. Associations between darts and attributes are drawn with small lines between darts and disks. Right: The 3D linear cell complex obtained as result of `sew<3>(1,5)` (or `sew<3>(2,8)`, or `sew<3>(3,7)`, or `sew<3>(4,6)`). The eight 0-attributes around the facet between the two 3-cells before the sew operation, are merged into four 0-attributes after. The geometry of the pyramid is deformed since its base is fitted on the 2-cell of the cube. +Example of \ref CombinatorialMap::sew "3-sew" operation for linear cell complex. Left: A 3D linear cell complex containing two 3-cells that are not connected. Vertex attributes are drawn with circles containing point coordinates. Associations between darts and attributes are drawn with small lines between darts and disks. Right: The 3D linear cell complex obtained as result of `sew<3>(1,5)` (or `sew<3>(2,8)`, or `sew<3>(3,7)`, or `sew<3>(4,6)`). The eight 0-attributes around the facet between the two 3-cells before the sew operation, are merged into four 0-attributes after. The geometry of the pyramid is deformed since its base is fitted on the 2-cell of the cube. \cgalFigureEnd -This is similar for the unsew operation, which removes \f$ \beta_i\f$ links +This is similar for the \ref CombinatorialMap::unsew "unsew" operation, which removes \f$ \beta_i\f$ links of all the darts in -\f$ \langle{}\f$\f$ \beta_1\f$,\f$ \ldots\f$,\f$ \beta_{i-2}\f$,\f$ \beta_{i+2}\f$,\f$ \ldots\f$,\f$ \beta_d\f$\f$ \rangle{}\f$(d0), +\f$ \langle{}\f$\f$ \beta_1\f$,\f$ \ldots\f$,\f$ \beta_{i-2}\f$,\f$ \beta_{i+2}\f$,\f$ \ldots\f$,\f$ \beta_d\f$\f$ \rangle{}\f$(d0), and updates non void attributes which are no more associated to a same cell due to the unlinks. If we take the linear cell complex given in \cgalFigureRef{figlccexemplesew} (Right), and we call -`unsew<3>(2)`, we obtain the linear cell complex in +\ref CombinatorialMap::unsew "unsew<3>(2)", we obtain the linear cell complex in \cgalFigureRef{figlccexemplesew} (Left) except for the coordinates of the new four vertices, which by default are copies of original vertices (this behavior can be modified thanks to the functor -`On_split` in the attribute class). The `unsew<3>` operation +\ref CellAttribute::On_split "On_split" in the attribute class). +The \ref CombinatorialMap::unsew "unsew<3>" operation has removed the four \f$ \beta_3\f$ links, and has duplicated the 0-attributes since vertices are split in two after the unsew operation. @@ -233,21 +235,23 @@ that the dimension of the linear cell complex must be large enough: darts must contain all the \f$ \beta\f$ used by the operation. All these methods add new darts in the current linear cell complex, existing darts are not modified. These functions -are `make_segment()`, `make_triangle()`, -`make_tetrahedron()` and `make_hexahedron()`. +are \ref Linear_cell_complex::make_segment "make_segment", +\ref Linear_cell_complex::make_triangle "make_triangle", +\ref Linear_cell_complex::make_tetrahedron "make_tetrahedron" and +\ref Linear_cell_complex::make_hexahedron "make_hexahedron". There are two functions allowing to build a linear cell complex from two other \cgal data types:
    -
  • \link import_from_triangulation_3() `import_from_triangulation_3(lcc,atr)`\endlink: adds in `lcc` all -the tetrahedra present in `atr`, a `Triangulation_3`; -
  • \link import_from_polyhedron_3() `import_from_polyhedron_3(lcc,ap)`\endlink: adds in `lcc` all +
  • \ref ::import_from_triangulation_3 "import_from_triangulation_3(lcc,atr)": adds in `lcc` all +the tetrahedra present in `atr`, a \ref CGAL::Triangulation_3 "Triangulation_3"; +
  • \ref ::import_from_polyhedron_3 "import_from_polyhedron_3(lcc,ap)": adds in `lcc` all the cells present in `ap`, a `Polyhedron_3`.
-Lastly, the function \link import_from_polyhedron_3() `import_from_plane_graph(lcc,ais)` \endlink adds in +Lastly, the function \ref ::import_from_plane_graph "import_from_plane_graph(lcc,ais)" adds in `lcc` all the cells reconstructed from the planar graph read in -`ais`, a `std::istream` (see the reference manual for the file +`ais`, a `std::istream` (see the \ref ::import_from_plane_graph "reference manual" for the file format). \subsection Linear_cell_complexModificationOperations Modification Operations @@ -260,17 +264,17 @@ handles for the darts `d0`, `d1`, `d2`, respectively. That is `d0 == *dh0`. \cgalFigureBegin{figlccinsertvertex,insert-vertex.png} -Example of `insert_barycenter_in_cell<1>` and `remove_cell<0>` operations. Left: Initial linear cell complex. Right: After the insertion of a point in the barycenter of the 1-cell containing dart d1. Now if we remove the 0-cell containing dart d2, we obtain a linear cell complex isomorphic to the initial one. +Example of \ref Linear_cell_complex::insert_barycenter_in_cell "insert_barycenter_in_cell<1>" and `::remove_cell<0>` operations. Left: Initial linear cell complex. Right: After the insertion of a point in the barycenter of the 1-cell containing dart d1. Now if we remove the 0-cell containing dart d2, we obtain a linear cell complex isomorphic to the initial one. \cgalFigureEnd -`lcc.insert_barycenter_in_cell(dh0)` adds the +\ref Linear_cell_complex::insert_barycenter_in_cell "lcc.insert_barycenter_in_cell(dh0)" adds the barycenter of the i-cell containing dart `d0`. This -operation is possible if `d0`\f$ \in\f$`lcc.darts()` (see examples +operation is possible if `d0`\f$ \in\f$\ref CombinatorialMap::darts "lcc.darts()" (see examples on \cgalFigureRef{figlccinsertvertex} and \cgalFigureRef{figlcctriangulate}). -`lcc.insert_point_in_cell(dh0,p)` is an operation +\ref Linear_cell_complex::insert_point_in_cell "lcc.insert_point_in_cell(dh0,p)" is an operation similar to the previous operation, the only difference being that the coordinates of the new point are here given by `p` instead of being computed as the barycenter of the i-cell. Currently, these two @@ -278,24 +282,24 @@ operations are only defined for `i=1` to insert a point in an edge, or `i=2` to insert a point in a facet. \cgalFigureBegin{figlcctriangulate,triangulation.png} -Examples of `insert_barycenter_in_cell<2>` operation. +Examples of \ref Linear_cell_complex::insert_barycenter_in_cell "insert_barycenter_in_cell<2>" operation. \cgalFigureEnd -`lcc.insert_dangling_cell_1_in_cell_2(dh0,p)` adds a 1-cell in +\ref Linear_cell_complex::insert_dangling_cell_1_in_cell_2 "lcc.insert_dangling_cell_1_in_cell_2(dh0,p)" adds a 1-cell in the 2-cell containing dart `d0`, the 1-cell being attached by only one of its vertex to the 0-cell containing dart `d0`. The second vertex of the new edge is associated with a new 0-attribute containing a copy of `p` as point. This operation is possible if -`d0`\f$ \in\f$`lcc.darts()` (see example on +`d0`\f$ \in\f$\ref CombinatorialMap::darts "lcc.darts()" (see example on \cgalFigureRef{figlccinsertdanglingedge}). \cgalFigureBegin{figlccinsertdanglingedge,insert-edge.png} -Example of `insert_dangling_cell_1_in_cell_2`, `insert_cell_1_in_cell_2` and `remove_cell<1>` operations. Left: Initial linear cell complex. Right: After the insertion of a dangling 1-cell in the 2-cell containing dart d1, and of a 1-cell in the 2-cell containing dart d2. Now if we remove the 1-cells containing dart d4 and d5, we obtain a linear cell complex isomorphic to the initial one. +Example of \ref Linear_cell_complex::insert_dangling_cell_1_in_cell_2 "insert_dangling_cell_1_in_cell_2", `::insert_cell_1_in_cell_2` and `::remove_cell<1>` operations. Left: Initial linear cell complex. Right: After the insertion of a dangling 1-cell in the 2-cell containing dart d1, and of a 1-cell in the 2-cell containing dart d2. Now if we remove the 1-cells containing dart d4 and d5, we obtain a linear cell complex isomorphic to the initial one. \cgalFigureEnd Some examples of use of these operations are given in -Section \ref ssec5dexample. +Section \ref ssec5dexample "A 4D Linear Cell Complex". \section Linear_cell_complexExamples Examples @@ -304,8 +308,8 @@ Section \ref ssec5dexample. This example uses a 3-dimensional linear cell complex. It creates two tetrahedra and displays all the points of the linear cell complex -thanks to a `Vertex_attribute_const_range`. Then, the two -tetrahedra are 3-sewn and we translate all the points of the second +thanks to a \ref Linear_cell_complex::Vertex_attribute_const_range "Vertex_attribute_const_range". Then, the two +tetrahedra are \ref CombinatorialMap::sew "3-sewn" and we translate all the points of the second tetrahedron along vector `v(3,1,1)`. Since the two tetrahedra are 3-sewn, this translation moves also the 2-cell of the first tetrahedron shared with the second one. This is illustrated by @@ -316,18 +320,18 @@ displaying all the points of each 3-cell. For that we use a The output is: \verbatim -Vertices: 1 1 2; 1 0 0; 0 2 0; -1 0 0; 1 1 -3; 1 0 -1; -1 0 -1; 0 2 -1; -Volume 1 : -1 0 0; 0 2 0; 1 0 0; 1 1 2; -Volume 2 : 0 2 -1; -1 0 -1; 1 0 -1; 1 1 -3; -Volume 1 : -1 0 0; 0 2 0; 1 0 0; 1 1 2; -Volume 2 : 0 2 0; -1 0 0; 1 0 0; 1 1 -3; -Volume 1 : 2 1 1; 3 3 1; 4 1 1; 1 1 2; -Volume 2 : 3 3 1; 2 1 1; 4 1 1; 4 2 -2; +Vertices: 1 1 2; 1 0 0; 0 2 0; -1 0 0; 1 1 -3; 1 0 -1; -1 0 -1; 0 2 -1; +Volume 1 : -1 0 0; 0 2 0; 1 0 0; 1 1 2; +Volume 2 : 0 2 -1; -1 0 -1; 1 0 -1; 1 1 -3; +Volume 1 : -1 0 0; 0 2 0; 1 0 0; 1 1 2; +Volume 2 : 0 2 0; -1 0 0; 1 0 0; 1 1 -3; +Volume 1 : 2 1 1; 3 3 1; 4 1 1; 1 1 2; +Volume 2 : 3 3 1; 2 1 1; 4 1 1; 4 2 -2; LCC characteristics: #Darts=24, #0-cells=5, #1-cells=9, #2-cells=7, #3-cells=2, #ccs=1, valid=1 \endverbatim The first line gives the points of the linear cell complex before the -`sew<3>`. There are eight points, four for each tetrahedron. +\ref CombinatorialMap::sew "sew<3>". There are eight points, four for each tetrahedron. After the sew, six vertices are merged two by two, thus there are five vertices. We can see the points of each 3-cell (lines Volume 1 and Volume 2) before the sew, after the sew and after the translation of @@ -367,7 +371,7 @@ adding another information to vertices. For that, we need to define our own items class. The difference with the `Linear_cell_complex_min_items` class is about the definition of the vertex attribute where we use a `Cell_attribute_with_point` -with a non void info. In this example, the "vextex color" is just +with a non `void` info. In this example, the "vextex color" is just given by an `int` (the second template parameter of the `Cell_attribute_with_point`). Lastly, we define the `Average_functor` class in order to set the color of a vertex @@ -381,8 +385,8 @@ Now we can use `LCC_3` in which each vertex is associated with an attribute containing both a point and an information. In the following example, we create two cubes, and set the color of the vertices of the first cube to 1 and of the second cube to 19 (by iterating through two -`One_dart_per_incident_cell_range<0, 3>` ranges). Then we -3-sew the two cubes along one facet. This operation merges some +\ref CombinatorialMap::One_dart_per_incident_cell_range "One_dart_per_incident_cell_range<0, 3>" ranges). Then we +\ref CombinatorialMap::sew "3-sew" the two cubes along one facet. This operation merges some vertices (as in the example of \cgalFigureRef{figlccexemplesew}). We insert a vertex in the common 2-cell between the two cubes, and set the information of the new 0-attribute to 5. In the last loop, we @@ -409,15 +413,15 @@ point: 1 0 0, color: 19 \endverbatim Before applying the sew operation, the eight vertices of the first -cube are colored by 1, and the eight vertices of the second cube by -19. After the sew operation, there are eight vertices which are merged +cube are colored by `1`, and the eight vertices of the second cube by +`19`. After the sew operation, there are eight vertices which are merged two by two, and due to the average functor, the color of the four resulting vertices is now 10. Then we insert a vertex in the center of the common 2-cell between the two cubes. The coordinates of this vertex are initialized with the barycenter of the 2-cell (-1,0.5,0.5), and its color is not initialized by the method, thus we set its color manually by using the result of -`insert_barycenter_in_cell<2>` which is a dart incident to the +\ref Linear_cell_complex::insert_barycenter_in_cell "insert_barycenter_in_cell<2>" which is a dart incident to the new vertex. \section Linear_cell_complexDesign Design and Implementation History @@ -426,6 +430,6 @@ This package was developed by Guillaume Damiand, with the help of Andreas Fabri, Sébastien Loriot and Laurent Rineau. Monique Teillaud and Bernd Gärtner contributed to the manual. -*/ +*/ } /* namespace CGAL */ diff --git a/Linear_cell_complex/doc/Linear_cell_complex/PackageDescription.txt b/Linear_cell_complex/doc/Linear_cell_complex/PackageDescription.txt index af621c62d34..74c4c14586e 100644 --- a/Linear_cell_complex/doc/Linear_cell_complex/PackageDescription.txt +++ b/Linear_cell_complex/doc/Linear_cell_complex/PackageDescription.txt @@ -1,13 +1,20 @@ /// \defgroup PkgLinearCellComplex Linear Cell Complex Reference + /// \defgroup PkgLinearCellComplexConcepts Concepts /// \ingroup PkgLinearCellComplex /// \defgroup PkgLinearCellComplexClasses Classes /// \ingroup PkgLinearCellComplex +/*! Basic constructions. + #include +*/ /// \defgroup PkgLinearCellComplexConstructions Constructions for Linear Cell Complex /// \ingroup PkgLinearCellComplex +/*! High-level operations. + #include +*/ /// \defgroup PkgLinearCellComplexOperations Operations for Linear Cell Complex /// \ingroup PkgLinearCellComplex