Documented the use of the Robust_weig... traits in Mesh_triangulation_3

This commit is contained in:
Mael Rouxel-Labbé 2017-05-22 11:15:50 +02:00
parent 63a3adb8d5
commit a66474b5fd
2 changed files with 18 additions and 6 deletions

View File

@ -21,6 +21,16 @@ and defaults to `Mesh_vertex_base_3<Gt, MD>`.
\tparam Cell_base must be a model of `MeshCellBase_3` or `Default`
and defaults to `Compact_mesh_cell_base_3<Gt, MD>`.
\warning To improve the robustness of the meshing process, the input traits `Gt`
is wrapped with the traits class `Robust_weighted_circumcenter_filtered_traits_3`.
The class `Robust_weighted_circumcenter_filtered_traits_3<Gt>` upgrades the functors
models of `Kernel::ConstructWeightedCircumcenter_3`, `Kernel::ComputeSquaredRadius_3`,
and `Kernel::ComputeSquaredRadiusSmallestOrthogonalSphere_3` that are
provided by `Gt` to use exact computations when the geometric configuration
is close to degenerate (e.g. almost coplanar points). <br>
Users should therefore be aware that the traits class of the triangulation
will have type `Robust_weighted_circumcenter_filtered_traits_3<Gt>`.
\sa `make_mesh_3()`
\sa `Mesh_complex_3_in_triangulation_3<Tr,CornerIndex,CurveSegmentIndex>`

View File

@ -6,11 +6,13 @@ namespace CGAL
*
* @class Robust_weighted_circumcenter_filtered_traits_3
*
* Overrides the kernel functors Construct_weighted_circumcenter_3, Compute_squared_radius_3,
* and Compute_squared_radius_smallest_orthogonal_sphere_3 with robust versions.
*
* Robustness is achieved by using exact computations if the geometric configuration
* is close to degenerate.
* Upgrades the functors models of `Kernel::ConstructWeightedCircumcenter_3`,
* `Kernel::ComputeSquaredRadius_3`, and `Kernel::ComputeSquaredRadiusSmallestOrthogonalSphere_3`
* that are provided by `K` with robust versions. This improved robustness
* is achieved by using exact computations if the geometric configuration
* is close to degenerate (e.g. almost coplanar points). The upgrade is completely
* invisible from an interface point of view as the class `Robust_weighted_circumcenter_filtered_traits_3`
* overrides the types and function objects associated with the basic versions.
*
* \tparam K must be a model of the `Kernel` concept.
*
@ -18,7 +20,7 @@ namespace CGAL
*/
template<class K>
class Robust_weighted_circumcenter_filtered_traits_3
: public K
: public K
{
public:
/// \name Types