Update doc of PCA in accordance with Solver interface

This commit is contained in:
Simon Giraudot 2015-09-01 12:40:10 +02:00
parent b8f9d59dc9
commit e3ce17eb0a
5 changed files with 25 additions and 5 deletions

View File

@ -13,6 +13,8 @@ The tag `tag` identifies the dimension to be considered from the objects. For po
The class `K` is the kernel in which the value type of the `InputIterator` is defined. It can be omitted and deduced automatically from the value type.
The class `Diagonalize_traits` is a model of `DiagonalizeTraits`. It can be omitted: if Eigen 3 (or greater) is available and `CGAL_EIGEN3_ENABLED` is defined then an overload using `Eigen_diagonalize_traits` is provided. Otherwise, the internal implementation `Internal_diagonalize_traits` is used.
\cgalHeading{Requirements}
<OL>
@ -35,7 +37,8 @@ InputIterator beyond,
typename K::Line_2 & line,
typename K::Point_2 & centroid,
const Tag & tag,
const K & k);
const K & k,
const Diagonalize_traits& diagonalize_traits);
} /* namespace CGAL */

View File

@ -64,6 +64,14 @@ The class `K` is the kernel in which the
value type of `InputIterator` is defined. It can be omitted and deduced
automatically from the value type.
The class `Diagonalize_traits` is a model of `DiagonalizeTraits`. It
can be omitted: if Eigen 3 (or greater) is available and
`CGAL_EIGEN3_ENABLED` is defined then an overload using
`Eigen_diagonalize_traits` is provided. Otherwise, the internal
implementation `Internal_diagonalize_traits` is used.
\cgalHeading{Requirements}
<OL>
@ -84,7 +92,8 @@ InputIterator beyond,
typename K::Line_3& line,
typename K::Point_3& centroid,
const Tag& tag,
const K& k);
const K& k,
const Diagonalize_traits& diagonalize_traits);
/*!
\brief computes the best fitting 3D plane of a 3D object set in the
@ -100,6 +109,12 @@ of `InputIterator` is defined. It can be omitted and deduced
automatically from the value type. The tag `tag` identifies the
dimension to be considered from the objects (see above).
The class `Diagonalize_traits` is a model of `DiagonalizeTraits`. It
can be omitted: if Eigen 3 (or greater) is available and
`CGAL_EIGEN3_ENABLED` is defined then an overload using
`Eigen_diagonalize_traits` is provided. Otherwise, the internal
implementation `Internal_diagonalize_traits` is used.
\cgalHeading{Requirements}
<OL>
@ -119,7 +134,8 @@ InputIterator beyond,
typename K::Plane_3& plane,
typename K::Point_3& centroid,
const Tag& tag,
const K& k);
const K& k,
const Diagonalize_traits& diagonalize_traits);
/// @}

View File

@ -4,3 +4,4 @@ STL_Extension
Algebraic_foundations
Circulator
Stream_support
Solver_interface

View File

@ -46,7 +46,7 @@ linear_least_squares_fitting_2(InputIterator first,
typename Kernel::Point_2& centroid,
const Tag& tag,
const Kernel& kernel,
const Diagonalize_traits diagonalize_traits)
const Diagonalize_traits& diagonalize_traits)
{
typedef typename std::iterator_traits<InputIterator>::value_type Value_type;
return internal::linear_least_squares_fitting_2(first, beyond, line,

View File

@ -52,7 +52,7 @@ linear_least_squares_fitting_3(InputIterator first,
typename Kernel::Point_3& centroid,
const Tag& tag, // dimension tag, ranges from 0 to 3
const Kernel& kernel,
const Diagonalize_traits diagonalize_traits)
const Diagonalize_traits& diagonalize_traits)
{
typedef typename std::iterator_traits<InputIterator>::value_type Value_type;
return internal::linear_least_squares_fitting_3(first, beyond, object,