This commit is contained in:
Andreas Fabri 2020-10-21 08:13:40 +01:00
parent 224a224e31
commit d4817f8671
5 changed files with 52 additions and 11 deletions

View File

@ -3133,7 +3133,18 @@ pages = "207--221"
title = {Multi-Material Adaptive Volume Remesher},
journal = {Compurer and Graphics Journal (proc. Shape Modeling International 2016)},
year = {2016},
}
}
@article{cgal:Wwshap-eepec-20,
title={Exact and Efficient Polyhedral Envelope Containment Check},
author={Bolun Wang and Teseo Schneider and Yixin Hu and Marco Attene and Daniele Panozzo},
journal = {ACM Trans. Graph.},
volume = {39},
number = {4},
month = jul,
year = {2020},
publisher = {ACM}
}
% ----------------------------------------------------------------------------
% END OF BIBFILE

View File

@ -125,6 +125,7 @@ The page \ref bgl_namedparameters "Named Parameters" describes their usage.
- `CGAL::Polygon_mesh_processing::degenerate_faces()`
- `CGAL::Polygon_mesh_processing::is_needle_triangle_face()`
- `CGAL::Polygon_mesh_processing::is_cap_triangle_face()`
- `CGAL::Envelope`
\cgalCRPSection{Location Functions}
- \link PMP_locate_grp Point Location \endlink
@ -215,7 +216,6 @@ The page \ref bgl_namedparameters "Named Parameters" describes their usage.
\cgalCRPSection{Miscellaneous}
- `CGAL::Polygon_mesh_slicer`
- `CGAL::Side_of_triangle_mesh`
- `CGAL::Envelope`
- `CGAL::Polygon_mesh_processing::bbox()`
- `CGAL::Polygon_mesh_processing::vertex_bbox()`
- `CGAL::Polygon_mesh_processing::edge_bbox()`

View File

@ -515,7 +515,7 @@ input triangle mesh.
\subsection PMPEnvelope Polyhedral Envelope Containment Check
The class `CGAL::Envelope` provides functors that test whether a query point, segment or triangle
is fully contained in a polyhedral envelope of a triangle mesh. While the user provides a distance
is fully contained in a <em>polyhedral envelope</em> of a triangle mesh. While the user provides a distance
the envelope is not the Minkowski sum with a sphere, because this would have cylindrical and spherical
patches at convex edges and vertices of the input triangle mesh. Instead, the envelope consists
of a collection of prisms that are guaranteed to be inside the Minkowski sum envelope, hence the
@ -523,12 +523,13 @@ term polyhedral envelope. This containment test is exact for the polyhedral env
conservative in the sense that, if a query is inside the polyhedral envelope, we can be sure
that it is also in the Minkowski sum envelope, but if it is outside we do not know.
Such a test is used in the class `Surface_mesh_simplification::Envelope_filter` of the
Such a test is used by the class `Surface_mesh_simplification::Envelope_filter` of the
package \refPkgSurfaceMeshSimplification, in order to simplify respecting a tolerance.
\subsubsection InsideExample Polyhedral Envelope Example
\cgalExample{Polygon_mesh_processing/polyhedral_envelope.cpp}
The algorithm is described in \cgalCite{cgal:wshap-eepec-20} and can be summarized as follows.
\subsection PMPShapePredicates Shape Predicates
@ -930,8 +931,15 @@ A prototype of mesh and shape smoothing was developed during the 2017 edition of
by Konstantinos Katrioplas, under supervision of Jane Tournois. It was finalized by Mael Rouxel-Labbé and
integrated in \cgal 5.0.
Functionalities related to mesh and polygon soup reparation have been introduced steadily over multiple versions
Functionalities related to mesh and polygon soup repair have been introduced steadily over multiple versions
since \cgal 4.10, in joint work between Sébastien Loriot and Mael Rouxel-Labbé.
The polyhedral envelope containment check was integrated in \cgal 5.2. The implementation makes use of the
version of <a href="https://github.com/wangbolun300/fast-envelope">https://github.com/wangbolun300/fast-envelope</a>
avaiable on 7th of October 2020. It only uses the high level algorithm of checking that a query
is covered by a set of prisms, where each prism is an offset for an input triangle.
That is, we do not use indirect predicates.
*/
} /* namespace CGAL */

View File

@ -9,9 +9,9 @@ BGL
Solver_interface
Surface_mesh
Surface_mesh_deformation
Surface_mesh_simplification
AABB_tree
Triangulation_2
Spatial_sorting
Generator
Property_map

View File

@ -1,4 +1,3 @@
// Copyright (c) 2019 Bolun Wang, Teseo Schneider, Yixin Hu, Marco Attene, and Daniele Panozzo
// Copyright (c) 2020 GeometryFactory (France).
// All rights reserved.
//
@ -9,12 +8,32 @@
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-Commercial
//
// Author(s) : Andreas Fabri
// This work is derived work from
//
// https://github.com/wangbolun300/fast-envelope avaiable on 7th of October 2020
// This file incorporates work covered by the following copyright and permission notice:
//
// MIT License
//
// Copyright (c) 2019 Bolun Wang, Teseo Schneider, Yixin Hu, Marco Attene, and Daniele Panozzo
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
//
// and the original work is distributed under the MIT License
//
// @article{Wang:2020:FE,
// title={Exact and Efficient Polyhedral Envelope Containment Check},
@ -27,6 +46,9 @@
// publisher = {ACM}
// }
//
// The code below uses the version of
// https://github.com/wangbolun300/fast-envelope avaiable on 7th of October 2020
//
// The code below only use the high level algorithms of checking that a query
// is covered by a set of prisms, where each prism is an offset for an input triangle.
// That is, we do not use indirect predicates