Copy the doc to doxygen (haven't tried to compile yet).

This commit is contained in:
Marc Glisse 2013-07-19 18:57:33 +02:00
parent 8a92c95755
commit a5b9e12a7c
4 changed files with 70 additions and 2 deletions

View File

@ -0,0 +1,54 @@
namespace CGAL {
/*!
\ingroup PkgKernelDKernels
A model for `Kernel_d` that uses %Cartesian coordinates to represent the
geometric objects. The parameter `Dimension` is the dimension of the
ambient Euclidean space. It may be either `Dimension_tag<d>` or
`Dynamic_dimension_tag`. It supports construction of points from `double`
Cartesian coordinates. It provides exact geometric predicates, but
inexact geometric constructions. The geometric predicates are made exact
without sacrificing speed thanks to the use of filters.
This kernel is default constructible and copyable. It does not carry any
state so it is possible to use objects created by one instance with
functors created by another one.
Note that this kernel does not completely conform to the `Kernel_d`
concept: it is missing the constructions `Lift_to_paraboloid_d` and
`Project_along_d_axis_d` which do not make sense with a single fixed
dimension.
\cgalModels `Kernel_d`
\cgalModels `DelaunayTriangulationTraits`
\sa `CGAL::Epick_d<Dimension>::Point_d`
\sa `CGAL::Cartesian_d<FieldNumberType>`
\sa `CGAL::Homogeneous_d<RingNumberType>`
*/
template< typename Dimension >
class Epick_d {
public:
/*!
represents a point in the Euclidean space
\cgalModels `DefaultConstructible`
\cgalModels `Copyable`
\cgalModels `Assignable`
*/
class Point_d {
public:
/*! introduces a point with coordinates (x0, x1, ...). */
Point_d(double x0, double x1, ...);
/*! returns the i'th coordinate of a point.r
\pre `i` is non-negative and less than the dimension */
double operator[](int i)const;
}
/// @}
}; /* end Epick_d */
} /* end namespace CGAL */

View File

@ -205,6 +205,19 @@ circumvented. With `Homogeneous_d<RingNumberType>`,
`Homogeneous_d<RingNumberType,LinearAlgebra>::%LA` is mapped to the
type `LinearAlgebra`.
\subsection Epick_d Kernel
The kernel `Epick_d<Dimension>`, short for Exact Predicates Inexact
Constructions Kernel is a kernel particularly useful when the dimension of
the space is known at compile-time. It uses a Cartesian representation and
supports construction of points from `double` coordinates. It provides exact
geometric predicates, but inexact geometric constructions.
Note that it provides few interfaces in addition to those documented in the
`Kernel_d` concept. In particular, the type of a point is only available as
`Epick_d<Dimension>::Point_d`, <B>not</B> `Point_d<Epick_d<Dimension>>`.
\subsection Kernel_dNamingconventions Naming conventions
The use of representation classes not only avoids problems, it also

View File

@ -47,7 +47,8 @@
## Kernels ##
- `CGAL::Cartesian_d<FieldNumberType>`
- `CGAL::Homogeneous<RingNumberType>`
- `CGAL::Homogeneous_d<RingNumberType>`
- `CGAL::Epick_d<Dimension>`
## %Kernel Objects ##
- `CGAL::Point_d<Kernel>`

View File

@ -1,6 +1,6 @@
all: normal cxx0x
CGAL_INC = -I/home/glisse/repos/cgal/master/Algebraic_foundations/include -I/home/glisse/repos/cgal/master/STL_Extension/include -I/home/glisse/repos/cgal/master/Number_types/include -I/data/repos/cgal/master/Algebraic_foundations/include -I/data/repos/cgal/master/STL_Extension/include -I/data/repos/cgal/master/Number_types/include -DCGAL_DISABLE_ROUNDING_MATH_CHECK
CGAL_INC = -I../../../Algebraic_foundations/include -I../../../STL_Extension/include -I../../../Number_types/include -DCGAL_DISABLE_ROUNDING_MATH_CHECK
EIGEN_INC = `pkg-config --cflags eigen3|sed -e 's/-I/-isystem/g'` -DCGAL_EIGEN3_ENABLED