diff --git a/Documentation/doc/biblio/cgal_manual.bib b/Documentation/doc/biblio/cgal_manual.bib
index 6dcd0e958c7..81578322225 100644
--- a/Documentation/doc/biblio/cgal_manual.bib
+++ b/Documentation/doc/biblio/cgal_manual.bib
@@ -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
diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/PackageDescription.txt b/Polygon_mesh_processing/doc/Polygon_mesh_processing/PackageDescription.txt
index 412bd685539..518643fc6ad 100644
--- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/PackageDescription.txt
+++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/PackageDescription.txt
@@ -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()`
diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt
index 0eea8a6e3f2..d5128d4f31a 100644
--- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt
+++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt
@@ -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 polyhedral envelope 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 https://github.com/wangbolun300/fast-envelope
+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 */
diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/dependencies b/Polygon_mesh_processing/doc/Polygon_mesh_processing/dependencies
index 67c7449e39d..ef149451cf7 100644
--- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/dependencies
+++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/dependencies
@@ -9,9 +9,9 @@ BGL
Solver_interface
Surface_mesh
Surface_mesh_deformation
+Surface_mesh_simplification
AABB_tree
Triangulation_2
Spatial_sorting
Generator
Property_map
-
diff --git a/Polygon_mesh_processing/include/CGAL/Envelope.h b/Polygon_mesh_processing/include/CGAL/Envelope.h
index cff1308ca4f..2f01568f937 100644
--- a/Polygon_mesh_processing/include/CGAL/Envelope.h
+++ b/Polygon_mesh_processing/include/CGAL/Envelope.h
@@ -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