mirror of https://github.com/CGAL/cgal
Documentation of plane_plus_line_policies
This commit is contained in:
parent
32973ffa12
commit
5c7abdd617
|
|
@ -152118,3 +152118,15 @@ keywords = {polygonal surface mesh, Surface reconstruction, kinetic framework, s
|
|||
pages={11},
|
||||
year={2015}
|
||||
}
|
||||
|
||||
@article{10.1111:cgf.70184
|
||||
,journal = {Computer Graphics Forum},
|
||||
title = {{Controlling Quadric Error Simplification with Line Quadrics}},
|
||||
author = {Liu, Hsueh-Ti Derek and Rahimzadeh, Mehdi and Zordan, Victor},
|
||||
year = {2025},
|
||||
publisher = {The Eurographics Association and John Wiley & Sons Ltd.},
|
||||
ISSN = {1467-8659},
|
||||
DOI = {10.1111/cgf.70184},
|
||||
url = {https://doi.org/10.1111/cgf.70184},
|
||||
year={2025}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ These policies depend on the third party \ref thirdpartyEigen library.
|
|||
\sa `GarlandHeckbert_probabilistic_plane_policies`
|
||||
\sa `GarlandHeckbert_triangle_policies`
|
||||
\sa `GarlandHeckbert_probabilistic_triangle_policies`
|
||||
\sa `GarlandHeckbert_plane_plus_line_policies`
|
||||
*/
|
||||
template <typename TriangleMesh, typename GeomTraits>
|
||||
class GarlandHeckbert_plane_policies
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ namespace Surface_mesh_simplification {
|
|||
/*!
|
||||
\ingroup PkgSurfaceMeshSimplificationRef
|
||||
|
||||
\deprecated This class is deprecated since \cgal 5.5 and the introduction of variations
|
||||
of Garland-Heckbert policies (Section \ref SurfaceMeshSimplificationGarlandHeckbertStrategy).
|
||||
The class `GarlandHeckbert_plane_policies` is the modern equivalent to this class.
|
||||
since \cgal 6.2, this class is an alias for the current state of the art of Garland-Heckbert policies
|
||||
(Section \ref SurfaceMeshSimplificationGarlandHeckbertStrategy).
|
||||
It is currently an alias of `GarlandHeckbert_plane_plus_line_policies`.
|
||||
|
||||
The class `GarlandHeckbert_policies` regroups the cost and placement policies
|
||||
based on the Garland-Heckbert strategy (Section \ref SurfaceMeshSimplificationGarlandHeckbertStrategy),
|
||||
|
|
@ -23,6 +23,12 @@ such as `Constrained_placement` or `Bounded_normal_change_placement`.
|
|||
|
||||
These policies depend on the third party \ref thirdpartyEigen library.
|
||||
|
||||
\sa `GarlandHeckbert_plane_policies`
|
||||
\sa `GarlandHeckbert_probabilistic_plane_policies`
|
||||
\sa `GarlandHeckbert_triangle_policies`
|
||||
\sa `GarlandHeckbert_probabilistic_triangle_policies`
|
||||
\sa `GarlandHeckbert_plane_plus_line_policies`
|
||||
|
||||
*/
|
||||
template <typename TriangleMesh, typename GeomTraits>
|
||||
class GarlandHeckbert_policies
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ These policies depend on the third party \ref thirdpartyEigen library.
|
|||
\sa `GarlandHeckbert_plane_policies`
|
||||
\sa `GarlandHeckbert_triangle_policies`
|
||||
\sa `GarlandHeckbert_probabilistic_triangle_policies`
|
||||
\sa `GarlandHeckbert_plane_plus_line_policies`
|
||||
*/
|
||||
template <typename TriangleMesh, typename GeomTraits>
|
||||
class GarlandHeckbert_probabilistic_plane_policies
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ These policies depend on the third party \ref thirdpartyEigen library.
|
|||
\sa `GarlandHeckbert_plane_policies`
|
||||
\sa `GarlandHeckbert_probabilistic_plane_policies`
|
||||
\sa `GarlandHeckbert_triangle_policies`
|
||||
\sa `GarlandHeckbert_plane_plus_line_policies`
|
||||
*/
|
||||
template <typename TriangleMesh, typename GeomTraits>
|
||||
class GarlandHeckbert_probabilistic_triangle_policies
|
||||
|
|
|
|||
|
|
@ -49,7 +49,8 @@
|
|||
- `CGAL::Surface_mesh_simplification::GarlandHeckbert_probabilistic_plane_policies<TriangleMesh, GeomTraits>`
|
||||
- `CGAL::Surface_mesh_simplification::GarlandHeckbert_triangle_policies<TriangleMesh, GeomTraits>`
|
||||
- `CGAL::Surface_mesh_simplification::GarlandHeckbert_probabilistic_triangle_policies<TriangleMesh, GeomTraits>`
|
||||
- `CGAL::Surface_mesh_simplification::GarlandHeckbert_policies<TriangleMesh, GeomTraits>` (deprecated)
|
||||
- `CGAL::Surface_mesh_simplification::GarlandHeckbert_plane_plus_line_policies<TriangleMesh, GeomTraits>`
|
||||
- `CGAL::Surface_mesh_simplification::GarlandHeckbert_policies<TriangleMesh, GeomTraits>`
|
||||
|
||||
\cgalCRPSection{Policy Enhancements}
|
||||
- `CGAL::Surface_mesh_simplification::Constrained_placement<Placement, TriangleMesh>`
|
||||
|
|
|
|||
|
|
@ -188,6 +188,12 @@ face normals). This variance naturally deteriorates the tightness of the result,
|
|||
hand it enables creating more uniform triangulations and the approach is more tolerant to noise,
|
||||
while still maintaining feature sensitivity.
|
||||
|
||||
Another extension of the Garland–Heckbert approach was introduced by Liu et al. \cgalCite{10.1111:cgf.70184}, who
|
||||
proposed the concept of line quadrics. In these quadrics, the cost is defined as the distance to the line passing
|
||||
through the input vertices and aligned with their normals. These line quadrics are combined with the traditional
|
||||
plane quadrics, but with a small weight (0.01 by default), producing more uniform triangulations while preserving
|
||||
the tightness of the approximation.
|
||||
|
||||
\cgalFigureAnchor{SurfaceMeshSimplification_GH}
|
||||
<center>
|
||||
<img src="sappho.jpg" style="max-width:70%;"/>
|
||||
|
|
@ -400,8 +406,8 @@ steps of the simplification algorithm.
|
|||
|
||||
Each Garland-Heckbert simplification strategy is implemented with a single class that regroups
|
||||
both the cost and the placement policies, which must be used together as they share vertex quadric data.
|
||||
The classic strategy of using plane-based quadric error metrics is implemented with the class
|
||||
`Surface_mesh_simplification::GarlandHeckbert_plane_policies`.
|
||||
The state of the art strategy of using plane-based quadric error metrics plus line-base quadric error metrix is implemented with the class
|
||||
`Surface_mesh_simplification::GarlandHeckbert_policies`.
|
||||
Although both policies must be used together, it is still possible to wrap either policy
|
||||
using behavior modifiers such as `Surface_mesh_simplification::Bounded_normal_change_placement`.
|
||||
|
||||
|
|
@ -420,5 +426,7 @@ The implementation of the Garland-Heckbert simplification policies is the result
|
|||
of Baskın Şenbaşlar (Google Summer of Code 2019), and Julian Komaromy (Google Summer of Code 2021)
|
||||
They both were mentored by Mael Rouxel-Labbé, who also contributed to the code and to the documentation.
|
||||
|
||||
Valque Léo added the `GarlandHeckbert_plane_plus_line_policies` functionality in \cgal 6.2.
|
||||
|
||||
*/
|
||||
} /* namespace CGAL */
|
||||
|
|
|
|||
Loading…
Reference in New Issue