diff --git a/Isosurfacing_3/doc/Isosurfacing_3/Isosurfacing_3.txt b/Isosurfacing_3/doc/Isosurfacing_3/Isosurfacing_3.txt index 8fc7148f789..74e61acfc46 100644 --- a/Isosurfacing_3/doc/Isosurfacing_3/Isosurfacing_3.txt +++ b/Isosurfacing_3/doc/Isosurfacing_3/Isosurfacing_3.txt @@ -70,7 +70,6 @@ For example, a tunnel of the isosurface within a single cell is topologically re Furthermore, the mesh is guaranteed to be 2-manifold and watertight, as long as the isosurface does not intersect the domain boundaries. % PA: add a figure comparing without and with the option activated -% PA: add following to CGAL list of references: Roberto Grosso: Construction of Topologically Correct and Manifold Isosurfaces. Computer Graphics Forum 35(5):187-196 - 2016. \subsection subsecdc Dual Contouring (DC) The DC algorithm generates one vertex for each cell that is intersected by the isosurface. Next, a face is created for each edge that intersects the isosurface, by connecting the vertices of the incident cells. For a uniform hexahedral grid, this results into a quadrilateral surface mesh. @@ -90,14 +89,15 @@ Dual Contouring can deal with any domain but guarantees neither a 2-manifold nor It generates fewer faces than Marching Cubes, in general. Its advantage over MC is its ability to recover sharp creases and corners. % PA: add a figure. -[what about tips, darts, cusps and corners? respectively adjacent to 0, 1, 2 and 3+ creases] +% PA: what about tips, darts, cusps and corners? respectively adjacent to 0, 1, 2 and 3+ creases \cgalFigureAnchor{isosurfacing_iwp_dc}
\cgalFigureCaptionBegin{isosurfacing_iwp_dc} -Isosurface of the IWP scalar field generated by %Dual Contouring. [TODO: do not assume that the iwp scalar field is well known to the reader - explicit first what it means. in addition, the shape is too complex, adding confusion to the reader. try to pass only one message per figure and provide a caption to not let the reader guess. show mesh edges in black] +Isosurface of the IWP scalar field generated by %Dual Contouring. +% PA: do not assume that the iwp scalar field is well known to the reader - explicit first what it means. in addition, the shape is too complex, adding confusion to the reader. try to pass only one message per figure and provide a caption to not let the reader guess. show mesh edges in black \cgalFigureCaptionEnd \subsection subseccomparison Comparisons @@ -134,7 +134,7 @@ The input is provided in the form of a `domain` (see \ref secmydomains). The `isovalue` scalar parameter denotes the value used for sampling the input scalar field for generating the isosurface. -The output surface mesh is provided in the form of a indexed face set, which is written to the two containers of `points` and `polygons`. +The output surface mesh is provided in the form of a indexed face set, which is stored into two containers of `points` and `polygons`. The vertex positions are stored as `Point_3` in `points`. Each face in `polygons` is a list of indices pointing into the `points` container. Depending on the algorithm, the indexed face set may store either a polygon soup (unorganized polygons with no relationship whatsoever, i.e. no connectivity between them) or a mesh with connectivity. @@ -145,12 +145,11 @@ When the parallel version is not available due to unsuccessful link with the TBB \section secmydomains Domains A domain is an object that provides functions to access the input data, its geometry, topology, and optionally its gradient. -[I fail to understand how you specify the topology - for me the domain is the support of the scalar field, whose -sampling/interpolation will yield the output mesh topology] +% I fail to understand how you specify the topology - for me the domain is the support of the scalar field, whose sampling/interpolation will yield the output mesh topology - not more. For common representations, we offer a set of predefined domain classes that wrap the input data and provide a generalized interface for the algorithm. Users can also define new domains by implementing the `IsosurfacingDomain_3` or `IsosurfacingDomainWithGradient_3` concepts. -\subsection mysubsecimplicitdomain Implicit Crtesian Grid Domain +\subsection mysubsecimplicitdomain Implicit Cartesian Grid Domain The class `CGAL::Isosurfacing::Implicit_Cartesian_grid_domain_3` represents the input scalar field in an implicit form without storing any values. It takes a function-object (functor) or lambda function that computes the value of the scalar field from the position of a vertex query. Additionally, the bounding box and spacing between the grid points must be provided. @@ -197,8 +196,8 @@ The following example shows how to load data from an `Image_3`. \subsection myExampleMeshOffset Offset Mesh -The following example shows how to compute a signed offset mesh. -The input mesh is stored into an `AABB_tree` data structure to allow fast distance queries. Via the `Side_of_triangle_mesh` functor, the sign of the distance field is made negative inside the mesh. +The following example illustrates how to generates a mesh approximating a signed offset to an input closed surface mesh. +The input mesh is stored into an `AABB_tree` data structure to provides fast distance queries. Via the `Side_of_triangle_mesh` functor, the sign of the distance field is made negative inside the mesh. \cgalExample{Isosurfacing_3/dual_contouring_mesh_offset.cpp} diff --git a/Isosurfacing_3/doc/Isosurfacing_3/PackageDescription.txt b/Isosurfacing_3/doc/Isosurfacing_3/PackageDescription.txt index 8c2cb0bd2bb..bbe4e869f57 100644 --- a/Isosurfacing_3/doc/Isosurfacing_3/PackageDescription.txt +++ b/Isosurfacing_3/doc/Isosurfacing_3/PackageDescription.txt @@ -30,7 +30,7 @@ This package provides algorithms to extract isosurfaces from different inputs: Marching Cubes, topologically correct Marching Cubes and Dual Contouring. The input is represented as a 3D scalar field defined as an implicit function, a Cartesian grid or an octree. -The output is a surface mesh represented as an indexed face set (point coordinate and face arrays). +The output is a surface mesh represented as an indexed face set (container of point coordinates and indexed faces). The provided algorithms include Marching Cubes, topologically correct Marching Cubes and Dual Contouring. \cgalClassifedRefPages