doc updates

This commit is contained in:
Sylvain Pion 2003-10-20 19:19:52 +00:00
parent 8f5ac8d061
commit 5601a0306d
41 changed files with 168 additions and 165 deletions

View File

@ -1,5 +1,6 @@
Version 1.173 (??)
Version 1.173 (20 October 03)
- Doc fixes
- New program example_regular.C
Version 1.172 (17 October 03)
- Doc fixes.

View File

@ -328,7 +328,7 @@ public:
typedef ... Cell_handle;
};
template < class TDS = some internal type faking a TDS >
template < class TDS = ... > // The default is some internal type faking a TDS
class Triangulation_ds_vertex_base_3
{
public:

View File

@ -113,6 +113,7 @@ pointer to an incident cell is not \ccc{NULL}.}
\ccc{CGAL::Triangulation_ds_vertex_base_3}\\
\ccc{CGAL::Triangulation_vertex_base_3}\\
\ccc{CGAL::Triangulation_vertex_base_with_info_3}\\
\ccc{CGAL::Triangulation_hierarchy_vertex_base_3}
\ccSeeAlso

View File

@ -41,10 +41,8 @@ indices of vertices and neighbors of cells.
\ccSeeAlso
\ccc{CGAL::Triangulation_ds_vertex_base_3}\\
\ccc{CGAL::Triangulation_ds_cell_base_3}
%% \ccExample
%% \ccIncludeExampleCode{examples/Triangulation3/Triangulation_data_structure_3_prog.C}
\ccc{CGAL::Triangulation_ds_cell_base_3}\\
\ccc{CGAL::Triangulation_vertex_base_with_info_3}\\
\ccc{CGAL::Triangulation_cell_base_with_info_3}
\end{ccRefClass}

View File

@ -28,10 +28,7 @@ The class \ccc{Triangulation_ds_cell_base_3} is a model for the concept
\ccSeeAlso
\ccc{CGAL::Triangulation_cell_base_3}\\
\ccc{CGAL::Triangulation_ds_vertex_base_3}
%% \ccExample
%% \ccIncludeExampleCode{examples/Triangulation3/Triangulation_cell_base_3_prog.C}
\ccc{CGAL::Triangulation_ds_vertex_base_3}\\
\ccc{CGAL::Triangulation_cell_base_with_info_3}
\end{ccRefClass}

View File

@ -38,10 +38,7 @@ example) tuned for a specific application.
\ccSeeAlso
\ccc{CGAL::Triangulation_vertex_base_3}\\
\ccc{CGAL::Triangulation_ds_cell_base_3}
%% \ccExample
%% \ccIncludeExampleCode{examples/Triangulation3/Triangulation_vertex_base_3_prog.C}
\ccc{CGAL::Triangulation_ds_cell_base_3}\\
\ccc{CGAL::Triangulation_vertex_base_with_info_3}
\end{ccRefClass}

View File

@ -21,12 +21,7 @@ The vertex class of a 3D-triangulation data structure must define
a number of types and operations.
The requirements that are of geometric nature are required only when
the triangulation data structure is used as a layer for the geometric
triangulation class.
The triangulation data structure
does not have any geometric requirements on those itself, but they
are required when the triangulation data structure is used by the
geometric triangulations. (See Section~\ref{TDS3-sec-design}.)
triangulation classes. (See Section~\ref{TDS3-sec-design}.)
The cell class of a triangulation data structure stores
four handles to its four vertices and four handles to its four

View File

@ -442,11 +442,16 @@ typedef Triangulation_3<GT, My_TDS> Tr;
...
\end{ccExampleCode}
While now, there are two possibilities. The simplest one is to use the
While now, there are three possibilities. The simplest one is to use the
class \ccc{Triangulation_vertex_base_with_info_3}, and this approach is
illustrated in a following subsection~\ref{Triangulation3-sec-examples-color}.
But when the user needs to access some type that depends on the triangulation
data structure (typically handles), then he must write:
The most complicated one, and probably useless for almost all cases, is to
write a vertex base class from scratch, following the documented requirements.
This is mostly useless because most of the time it is enough to derive from
the models that \cgal\ provides, and add the desired features.
In this case, when the user needs to access some type that depends on the
triangulation data structure (typically handles), then he should write
something like:
\begin{ccExampleCode}
...
template < class GT, class Vb = Triangulation_vertex_base<GT> >
@ -473,7 +478,7 @@ public:
The changes that need to be made are the following:
\begin{itemize}
\item{} \ccc{My_vertex} must be parameterized by the vertex base class it
\item{} \ccc{My_vertex} is now parameterized by the vertex base class it
derives from.
\item{} a nested template class \ccc{Rebind_TDS} must be defined.
\item{} \texttt{void*} must be changed to \ccc{Cell_handle}, and you need to
@ -524,3 +529,12 @@ as the following example shows.
triangulation}
\ccIncludeExampleCode{Triangulation_3/example_find_conflicts.C}
\subsection{Regular triangulation}
This example shows the building of a regular triangulation. In this
triangulation, points have an associated weight, and some points can
be hidden and do not result in vertices in the triangulation.
Another difference is that a specific traits class has to be used
(at least at the moment).
\ccIncludeExampleCode{Triangulation_3/example_regular.C}

View File

@ -1,9 +1,9 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: design.eps
%%Creator: fig2dev Version 3.2 Patchlevel 3d
%%CreationDate: Wed Sep 3 14:25:36 2003
%%For: spion@mpino1212 (Sylvain Pion,328,128,)
%%BoundingBox: 0 0 684 514
%%Title: design.fig
%%Creator: fig2dev Version 3.2 Patchlevel 4
%%CreationDate: Mon Oct 20 19:41:57 2003
%%For: spion@termite (Sylvain Pion,Ch.,L016,657762)
%%BoundingBox: 0 0 684 531
%%Magnification: 1.0000
%%EndComments
/$F2psDict 200 dict def
@ -45,7 +45,7 @@ $F2psDict /mtrx matrix put
end
save
newpath 0 514 moveto 0 0 lineto 684 0 lineto 684 514 lineto closepath clip newpath
newpath 0 531 moveto 0 0 lineto 684 0 lineto 684 531 lineto closepath clip newpath
171.5 398.2 translate
1 -1 scale
@ -90,6 +90,8 @@ $F2psBegin
%
% Fig objects follow
%
%
% here starts figure with depth 50
/Times-Roman ff 180.00 scf sf
4365 4140 m
gs 1 -1 sc (Optional) col0 sh gr
@ -257,25 +259,25 @@ n 5400 1350 m 7200 1350 l 7200 1800 l 5400 1800 l
cp gs col0 s gr
% Polyline
gs clippath
3195 -1365 m 3105 -1365 l 3105 -1153 l 3150 -1333 l 3195 -1153 l cp
3195 -2085 m 3105 -2085 l 3105 -1873 l 3150 -2053 l 3195 -1873 l cp
eoclip
n 3150 1350 m
3150 -1350 l gs col0 s gr gr
3150 -2070 l gs col0 s gr gr
% arrowhead
7.500 slw
n 3195 -1153 m 3150 -1333 l 3105 -1153 l 3195 -1153 l cp gs 0.00 setgray ef gr col0 s
n 3195 -1873 m 3150 -2053 l 3105 -1873 l 3195 -1873 l cp gs 0.00 setgray ef gr col0 s
% Polyline
15.000 slw
gs clippath
6345 -1365 m 6255 -1365 l 6255 -1153 l 6300 -1333 l 6345 -1153 l cp
6345 -2085 m 6255 -2085 l 6255 -1873 l 6300 -2053 l 6345 -1873 l cp
eoclip
n 6300 1350 m
6300 -1350 l gs col0 s gr gr
6300 -2070 l gs col0 s gr gr
% arrowhead
7.500 slw
n 6345 -1153 m 6300 -1333 l 6255 -1153 l 6345 -1153 l cp gs 0.00 setgray ef gr col0 s
n 6345 -1873 m 6300 -2053 l 6255 -1873 l 6345 -1873 l cp gs 0.00 setgray ef gr col0 s
% Polyline
30.000 slw
gs clippath
@ -300,12 +302,6 @@ n 450 5625 m
n 1754 5745 m 2234 5625 l 1754 5505 l 1754 5745 l cp gs 0.00 setgray ef gr col0 s
% Polyline
15.000 slw
n 2250 -1800 m 4050 -1800 l 4050 -1350 l 2250 -1350 l
cp gs col0 s gr
% Polyline
n 5400 -1800 m 7200 -1800 l 7200 -1350 l 5400 -1350 l
cp gs col0 s gr
% Polyline
n -900 -1800 m 1125 -1800 l 1125 -1350 l -900 -1350 l
cp gs col0 s gr
% Polyline
@ -461,12 +457,6 @@ gs 1 -1 sc (Template) col0 sh gr
/Times-Roman ff 240.00 scf sf
585 4950 m
gs 1 -1 sc (Parameters) col0 sh gr
/Times-Roman ff 300.00 scf sf
2745 -1485 m
gs 1 -1 sc (Vertex) col0 sh gr
/Times-Roman ff 300.00 scf sf
6030 -1485 m
gs 1 -1 sc (Cell) col0 sh gr
/Times-Roman ff 270.00 scf sf
-585 -585 m
gs 1 -1 sc (Functionality) col0 sh gr
@ -479,5 +469,7 @@ gs 1 -1 sc (locate\(\), insert\(\)...) col0 sh gr
/Times-Roman ff 240.00 scf sf
4500 -1440 m
gs 1 -1 sc (Types) col0 sh gr
% here ends figure;
$F2psEnd
rs
showpage

View File

@ -78,20 +78,16 @@ Single
5400 1350 7200 1350 7200 1800 5400 1800 5400 1350
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
1 1 1.00 90.00 180.00
3150 1350 3150 -1350
3150 1350 3150 -2070
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
1 1 1.00 90.00 180.00
6300 1350 6300 -1350
6300 1350 6300 -2070
2 1 0 3 0 7 50 0 -1 0.000 0 0 -1 1 0 4
1 1 1.00 240.00 480.00
450 6075 4500 6075 4500 5580 5400 5580
2 1 0 3 0 7 50 0 -1 0.000 0 0 -1 1 0 2
1 1 1.00 240.00 480.00
450 5625 2250 5625
2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
2250 -1800 4050 -1800 4050 -1350 2250 -1350 2250 -1800
2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
5400 -1800 7200 -1800 7200 -1350 5400 -1350 5400 -1800
2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
-900 -1800 1125 -1800 1125 -1350 -900 -1350 -900 -1800
3 2 1 1 0 7 50 0 -1 4.000 0 1 0 3
@ -130,8 +126,6 @@ Single
4 0 0 50 0 0 12 0.0000 4 135 795 4230 5130 Derivation\001
4 0 0 50 0 0 16 0.0000 4 225 930 630 4725 Template\001
4 0 0 50 0 0 16 0.0000 4 165 1095 585 4950 Parameters\001
4 0 0 50 0 0 20 0.0000 4 195 780 2745 -1485 Vertex\001
4 0 0 50 0 0 20 0.0000 4 195 465 6030 -1485 Cell\001
4 0 0 50 0 0 18 0.0000 4 255 1500 -585 -585 Functionality\001
4 0 0 50 0 0 18 0.0000 4 195 1200 -450 -900 Geometric\001
4 0 0 50 0 0 14 0.0000 4 195 1530 -585 -1530 locate(), insert()...\001

Binary file not shown.

Before

Width:  |  Height:  |  Size: 390 KiB

After

Width:  |  Height:  |  Size: 247 KiB

View File

@ -38,12 +38,6 @@ Delaunay triangulation must fulfill the following requirements:
\ccTwo{DelaunayTriangulationTraits}{}
\ccNestedType{Compare_distance_3}
{A predicate object that must provide the function operator\\
\ccc{Comparison_result operator()(Point p, Point q, Point r)},\\
which compares the distance between \ccc{p} and \ccc{q} to the distance
between \ccc{p} and \ccc{r}.}
\ccGlue
\ccNestedType{Coplanar_side_of_bounded_circle_3}
{A predicate object that must provide the function operator\\
\ccc{Bounded_side operator()(Point p, Point q, Point r, Point s)},\\
@ -58,6 +52,15 @@ by \ccc{p}, \ccc{q}, and \ccc{r} on which \ccc{s} lies.
which determines on which side of the oriented sphere circumscribing
\ccc{p, q, r, s} the point \ccc{t} lies.}
In order to use the \ccc{Triangulation_hierarchy_3} on top of
\ccc{Delaunay_triangulation_3}, an additional predicate is required:
\ccNestedType{Compare_distance_3}
{A predicate object that must provide the function operator\\
\ccc{Comparison_result operator()(Point p, Point q, Point r)},\\
which compares the distance between \ccc{p} and \ccc{q} to the distance
between \ccc{p} and \ccc{r}.}
In addition, in order to display a Voronoi diagram, the traits class
must provide the following:
@ -103,12 +106,14 @@ The following functions give access to the predicate and construction objects:
\ccThree{coplanar_side_of_bounded_circle_3xxx}{gt.xxxxxxxxx(Point p0, Point p1)x}{}
\ccCreationVariable{traits}
\ccMethod{Compare_distance_3 compare_distance_3_object();}{}
\ccGlue
\ccMethod{Coplanar_side_of_bounded_circle_3 coplanar_side_of_bounded_circle_3_object();}{}
\ccGlue
\ccMethod{Side_of_oriented_sphere_3 side_of_oriented_sphere_3_object();}{}
When using the triangulation hierarchy, the traits must provide:
\ccMethod{Compare_distance_3 compare_distance_3_object();}{}
The following functions must be provided only if the methods of
\ccc{Delaunay_triangulation_3} returning elements of the Voronoi diagram
are instantiated:
@ -125,10 +130,13 @@ are instantiated:
\ccHasModels
\ccc{CGAL::Exact_predicates_inexact_constructions_kernel} (recommended)\\
\ccc{CGAL::Exact_predicates_exact_constructions_kernel} (recommended for
Voronoi)\\
\ccc{CGAL::Filtered_kernel}\\
\ccc{CGAL::Cartesian}\\
\ccc{CGAL::Homogeneous}\\
\ccc{CGAL::Simple_cartesian}\\
\ccc{CGAL::Simple_homogeneous}\\
\ccc{CGAL::Filtered_kernel}
\ccc{CGAL::Homogeneous}\\
\ccc{CGAL::Simple_homogeneous}
\end{ccRefConcept}

View File

@ -220,6 +220,10 @@ with \ccc{p}.}
\cgal\ offers several functionalities to display the Voronoi diagram of
a set of points in 3D.
Note that the user should use a kernel with exact constructions in order
to guarantee the computation of the Voronoi diagram (as opposed to computing
the triangulation only, which requires only exact predicates).
\ccMethod{Point dual(Cell_handle c) const;}
{Returns the circumcenter of the four vertices of c.
\ccPrecond{\ccVar.\ccc{dimension()}$=3$ and \ccc{c} is not infinite.}}

View File

@ -24,7 +24,8 @@ vertex case.
\ccHasModels
\ccc{CGAL::Triangulation_cell_base_3}
\ccc{CGAL::Triangulation_cell_base_3}\\
\ccc{CGAL::Triangulation_cell_base_with_info_3}
\ccSeeAlso

View File

@ -102,10 +102,12 @@ The following functions give access to the predicate and construction objects:
\ccHasModels
\ccc{CGAL::Exact_predicates_inexact_constructions_kernel} (recommended)\\
\ccc{CGAL::Exact_predicates_exact_constructions_kernel}\\
\ccc{CGAL::Filtered_kernel}\\
\ccc{CGAL::Cartesian}\\
\ccc{CGAL::Homogeneous}\\
\ccc{CGAL::Simple_cartesian}\\
\ccc{CGAL::Simple_homogeneous}\\
\ccc{CGAL::Filtered_kernel}
\ccc{CGAL::Homogeneous}\\
\ccc{CGAL::Simple_homogeneous}
\end{ccRefConcept}

View File

@ -72,6 +72,7 @@ point and other possible information.}
\ccHasModels
\ccc{CGAL::Triangulation_vertex_base_3}\\
\ccc{CGAL::Triangulation_vertex_base_with_info_3}\\
\ccc{CGAL::Triangulation_hierarchy_vertex_base_3}
\ccSeeAlso

View File

@ -40,10 +40,7 @@ It has the default value \ccc{Triangulation_ds_cell_base_3<>}.
\ccSeeAlso
\ccc{CGAL::Triangulation_ds_cell_base_3}\\
\ccc{CGAL::Triangulation_cell_base_with_info_3}\\
\ccc{CGAL::Triangulation_vertex_base_3}
%% \ccExample
%% \ccIncludeExampleCode{examples/Triangulation3/Triangulation_cell_base_3_prog.C}
\end{ccRefClass}

View File

@ -18,6 +18,7 @@
The class \ccc{Triangulation_cell_base_with_info_3} is a model of the concept
\ccc{TriangulationCellBase_3}, the base cell of a 3D-triangulation.
It provides an easy way to add some user defined information in cells.
Note that input/output operators discard this additional information.
\ccInclude{CGAL/Triangulation_cell_base_with_info_3.h}

View File

@ -39,6 +39,7 @@ It is parameterized by a model of the concept \ccc{TriangulationVertexBase_3}.
\ccSeeAlso
\ccc{CGAL::Triangulation_hierarchy_3}\\
\ccc{CGAL::Triangulation_vertex_base_3}
\ccc{CGAL::Triangulation_vertex_base_3}\\
\ccc{CGAL::Triangulation_vertex_base_with_info_3}
\end{ccRefClass}

View File

@ -53,10 +53,7 @@ It has the default value \ccc{Triangulation_ds_vertex_base_3<>}.
\ccc{CGAL::Triangulation_cell_base_3}\\
\ccc{CGAL::Triangulation_ds_vertex_base_3}\\
\ccc{CGAL::Triangulation_vertex_base_with_info_3}\\
\ccc{CGAL::Triangulation_hierarchy_vertex_base_3}
%% \ccExample
%% \ccIncludeExampleCode{examples/Triangulation3/Triangulation_vertex_base_3_prog.C}
\end{ccRefClass}

View File

@ -18,6 +18,7 @@
The class \ccc{Triangulation_vertex_base_with_info_3} is a model of the concept
\ccc{TriangulationVertexBase_3}, the base vertex of a 3D-triangulation.
It provides an easy way to add some user defined information in vertices.
Note that input/output operators discard this additional information.
\ccInclude{CGAL/Triangulation_vertex_base_with_info_3.h}

View File

@ -328,7 +328,7 @@ public:
typedef ... Cell_handle;
};
template < class TDS = some internal type faking a TDS >
template < class TDS = ... > // The default is some internal type faking a TDS
class Triangulation_ds_vertex_base_3
{
public:

View File

@ -113,6 +113,7 @@ pointer to an incident cell is not \ccc{NULL}.}
\ccc{CGAL::Triangulation_ds_vertex_base_3}\\
\ccc{CGAL::Triangulation_vertex_base_3}\\
\ccc{CGAL::Triangulation_vertex_base_with_info_3}\\
\ccc{CGAL::Triangulation_hierarchy_vertex_base_3}
\ccSeeAlso

View File

@ -41,10 +41,8 @@ indices of vertices and neighbors of cells.
\ccSeeAlso
\ccc{CGAL::Triangulation_ds_vertex_base_3}\\
\ccc{CGAL::Triangulation_ds_cell_base_3}
%% \ccExample
%% \ccIncludeExampleCode{examples/Triangulation3/Triangulation_data_structure_3_prog.C}
\ccc{CGAL::Triangulation_ds_cell_base_3}\\
\ccc{CGAL::Triangulation_vertex_base_with_info_3}\\
\ccc{CGAL::Triangulation_cell_base_with_info_3}
\end{ccRefClass}

View File

@ -28,10 +28,7 @@ The class \ccc{Triangulation_ds_cell_base_3} is a model for the concept
\ccSeeAlso
\ccc{CGAL::Triangulation_cell_base_3}\\
\ccc{CGAL::Triangulation_ds_vertex_base_3}
%% \ccExample
%% \ccIncludeExampleCode{examples/Triangulation3/Triangulation_cell_base_3_prog.C}
\ccc{CGAL::Triangulation_ds_vertex_base_3}\\
\ccc{CGAL::Triangulation_cell_base_with_info_3}
\end{ccRefClass}

View File

@ -38,10 +38,7 @@ example) tuned for a specific application.
\ccSeeAlso
\ccc{CGAL::Triangulation_vertex_base_3}\\
\ccc{CGAL::Triangulation_ds_cell_base_3}
%% \ccExample
%% \ccIncludeExampleCode{examples/Triangulation3/Triangulation_vertex_base_3_prog.C}
\ccc{CGAL::Triangulation_ds_cell_base_3}\\
\ccc{CGAL::Triangulation_vertex_base_with_info_3}
\end{ccRefClass}

View File

@ -21,12 +21,7 @@ The vertex class of a 3D-triangulation data structure must define
a number of types and operations.
The requirements that are of geometric nature are required only when
the triangulation data structure is used as a layer for the geometric
triangulation class.
The triangulation data structure
does not have any geometric requirements on those itself, but they
are required when the triangulation data structure is used by the
geometric triangulations. (See Section~\ref{TDS3-sec-design}.)
triangulation classes. (See Section~\ref{TDS3-sec-design}.)
The cell class of a triangulation data structure stores
four handles to its four vertices and four handles to its four

View File

@ -442,11 +442,16 @@ typedef Triangulation_3<GT, My_TDS> Tr;
...
\end{ccExampleCode}
While now, there are two possibilities. The simplest one is to use the
While now, there are three possibilities. The simplest one is to use the
class \ccc{Triangulation_vertex_base_with_info_3}, and this approach is
illustrated in a following subsection~\ref{Triangulation3-sec-examples-color}.
But when the user needs to access some type that depends on the triangulation
data structure (typically handles), then he must write:
The most complicated one, and probably useless for almost all cases, is to
write a vertex base class from scratch, following the documented requirements.
This is mostly useless because most of the time it is enough to derive from
the models that \cgal\ provides, and add the desired features.
In this case, when the user needs to access some type that depends on the
triangulation data structure (typically handles), then he should write
something like:
\begin{ccExampleCode}
...
template < class GT, class Vb = Triangulation_vertex_base<GT> >
@ -473,7 +478,7 @@ public:
The changes that need to be made are the following:
\begin{itemize}
\item{} \ccc{My_vertex} must be parameterized by the vertex base class it
\item{} \ccc{My_vertex} is now parameterized by the vertex base class it
derives from.
\item{} a nested template class \ccc{Rebind_TDS} must be defined.
\item{} \texttt{void*} must be changed to \ccc{Cell_handle}, and you need to
@ -524,3 +529,12 @@ as the following example shows.
triangulation}
\ccIncludeExampleCode{Triangulation_3/example_find_conflicts.C}
\subsection{Regular triangulation}
This example shows the building of a regular triangulation. In this
triangulation, points have an associated weight, and some points can
be hidden and do not result in vertices in the triangulation.
Another difference is that a specific traits class has to be used
(at least at the moment).
\ccIncludeExampleCode{Triangulation_3/example_regular.C}

View File

@ -1,9 +1,9 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: design.eps
%%Creator: fig2dev Version 3.2 Patchlevel 3d
%%CreationDate: Wed Sep 3 14:25:36 2003
%%For: spion@mpino1212 (Sylvain Pion,328,128,)
%%BoundingBox: 0 0 684 514
%%Title: design.fig
%%Creator: fig2dev Version 3.2 Patchlevel 4
%%CreationDate: Mon Oct 20 19:41:57 2003
%%For: spion@termite (Sylvain Pion,Ch.,L016,657762)
%%BoundingBox: 0 0 684 531
%%Magnification: 1.0000
%%EndComments
/$F2psDict 200 dict def
@ -45,7 +45,7 @@ $F2psDict /mtrx matrix put
end
save
newpath 0 514 moveto 0 0 lineto 684 0 lineto 684 514 lineto closepath clip newpath
newpath 0 531 moveto 0 0 lineto 684 0 lineto 684 531 lineto closepath clip newpath
171.5 398.2 translate
1 -1 scale
@ -90,6 +90,8 @@ $F2psBegin
%
% Fig objects follow
%
%
% here starts figure with depth 50
/Times-Roman ff 180.00 scf sf
4365 4140 m
gs 1 -1 sc (Optional) col0 sh gr
@ -257,25 +259,25 @@ n 5400 1350 m 7200 1350 l 7200 1800 l 5400 1800 l
cp gs col0 s gr
% Polyline
gs clippath
3195 -1365 m 3105 -1365 l 3105 -1153 l 3150 -1333 l 3195 -1153 l cp
3195 -2085 m 3105 -2085 l 3105 -1873 l 3150 -2053 l 3195 -1873 l cp
eoclip
n 3150 1350 m
3150 -1350 l gs col0 s gr gr
3150 -2070 l gs col0 s gr gr
% arrowhead
7.500 slw
n 3195 -1153 m 3150 -1333 l 3105 -1153 l 3195 -1153 l cp gs 0.00 setgray ef gr col0 s
n 3195 -1873 m 3150 -2053 l 3105 -1873 l 3195 -1873 l cp gs 0.00 setgray ef gr col0 s
% Polyline
15.000 slw
gs clippath
6345 -1365 m 6255 -1365 l 6255 -1153 l 6300 -1333 l 6345 -1153 l cp
6345 -2085 m 6255 -2085 l 6255 -1873 l 6300 -2053 l 6345 -1873 l cp
eoclip
n 6300 1350 m
6300 -1350 l gs col0 s gr gr
6300 -2070 l gs col0 s gr gr
% arrowhead
7.500 slw
n 6345 -1153 m 6300 -1333 l 6255 -1153 l 6345 -1153 l cp gs 0.00 setgray ef gr col0 s
n 6345 -1873 m 6300 -2053 l 6255 -1873 l 6345 -1873 l cp gs 0.00 setgray ef gr col0 s
% Polyline
30.000 slw
gs clippath
@ -300,12 +302,6 @@ n 450 5625 m
n 1754 5745 m 2234 5625 l 1754 5505 l 1754 5745 l cp gs 0.00 setgray ef gr col0 s
% Polyline
15.000 slw
n 2250 -1800 m 4050 -1800 l 4050 -1350 l 2250 -1350 l
cp gs col0 s gr
% Polyline
n 5400 -1800 m 7200 -1800 l 7200 -1350 l 5400 -1350 l
cp gs col0 s gr
% Polyline
n -900 -1800 m 1125 -1800 l 1125 -1350 l -900 -1350 l
cp gs col0 s gr
% Polyline
@ -461,12 +457,6 @@ gs 1 -1 sc (Template) col0 sh gr
/Times-Roman ff 240.00 scf sf
585 4950 m
gs 1 -1 sc (Parameters) col0 sh gr
/Times-Roman ff 300.00 scf sf
2745 -1485 m
gs 1 -1 sc (Vertex) col0 sh gr
/Times-Roman ff 300.00 scf sf
6030 -1485 m
gs 1 -1 sc (Cell) col0 sh gr
/Times-Roman ff 270.00 scf sf
-585 -585 m
gs 1 -1 sc (Functionality) col0 sh gr
@ -479,5 +469,7 @@ gs 1 -1 sc (locate\(\), insert\(\)...) col0 sh gr
/Times-Roman ff 240.00 scf sf
4500 -1440 m
gs 1 -1 sc (Types) col0 sh gr
% here ends figure;
$F2psEnd
rs
showpage

View File

@ -78,20 +78,16 @@ Single
5400 1350 7200 1350 7200 1800 5400 1800 5400 1350
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
1 1 1.00 90.00 180.00
3150 1350 3150 -1350
3150 1350 3150 -2070
2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2
1 1 1.00 90.00 180.00
6300 1350 6300 -1350
6300 1350 6300 -2070
2 1 0 3 0 7 50 0 -1 0.000 0 0 -1 1 0 4
1 1 1.00 240.00 480.00
450 6075 4500 6075 4500 5580 5400 5580
2 1 0 3 0 7 50 0 -1 0.000 0 0 -1 1 0 2
1 1 1.00 240.00 480.00
450 5625 2250 5625
2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
2250 -1800 4050 -1800 4050 -1350 2250 -1350 2250 -1800
2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
5400 -1800 7200 -1800 7200 -1350 5400 -1350 5400 -1800
2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5
-900 -1800 1125 -1800 1125 -1350 -900 -1350 -900 -1800
3 2 1 1 0 7 50 0 -1 4.000 0 1 0 3
@ -130,8 +126,6 @@ Single
4 0 0 50 0 0 12 0.0000 4 135 795 4230 5130 Derivation\001
4 0 0 50 0 0 16 0.0000 4 225 930 630 4725 Template\001
4 0 0 50 0 0 16 0.0000 4 165 1095 585 4950 Parameters\001
4 0 0 50 0 0 20 0.0000 4 195 780 2745 -1485 Vertex\001
4 0 0 50 0 0 20 0.0000 4 195 465 6030 -1485 Cell\001
4 0 0 50 0 0 18 0.0000 4 255 1500 -585 -585 Functionality\001
4 0 0 50 0 0 18 0.0000 4 195 1200 -450 -900 Geometric\001
4 0 0 50 0 0 14 0.0000 4 195 1530 -585 -1530 locate(), insert()...\001

Binary file not shown.

Before

Width:  |  Height:  |  Size: 390 KiB

After

Width:  |  Height:  |  Size: 247 KiB

View File

@ -38,12 +38,6 @@ Delaunay triangulation must fulfill the following requirements:
\ccTwo{DelaunayTriangulationTraits}{}
\ccNestedType{Compare_distance_3}
{A predicate object that must provide the function operator\\
\ccc{Comparison_result operator()(Point p, Point q, Point r)},\\
which compares the distance between \ccc{p} and \ccc{q} to the distance
between \ccc{p} and \ccc{r}.}
\ccGlue
\ccNestedType{Coplanar_side_of_bounded_circle_3}
{A predicate object that must provide the function operator\\
\ccc{Bounded_side operator()(Point p, Point q, Point r, Point s)},\\
@ -58,6 +52,15 @@ by \ccc{p}, \ccc{q}, and \ccc{r} on which \ccc{s} lies.
which determines on which side of the oriented sphere circumscribing
\ccc{p, q, r, s} the point \ccc{t} lies.}
In order to use the \ccc{Triangulation_hierarchy_3} on top of
\ccc{Delaunay_triangulation_3}, an additional predicate is required:
\ccNestedType{Compare_distance_3}
{A predicate object that must provide the function operator\\
\ccc{Comparison_result operator()(Point p, Point q, Point r)},\\
which compares the distance between \ccc{p} and \ccc{q} to the distance
between \ccc{p} and \ccc{r}.}
In addition, in order to display a Voronoi diagram, the traits class
must provide the following:
@ -103,12 +106,14 @@ The following functions give access to the predicate and construction objects:
\ccThree{coplanar_side_of_bounded_circle_3xxx}{gt.xxxxxxxxx(Point p0, Point p1)x}{}
\ccCreationVariable{traits}
\ccMethod{Compare_distance_3 compare_distance_3_object();}{}
\ccGlue
\ccMethod{Coplanar_side_of_bounded_circle_3 coplanar_side_of_bounded_circle_3_object();}{}
\ccGlue
\ccMethod{Side_of_oriented_sphere_3 side_of_oriented_sphere_3_object();}{}
When using the triangulation hierarchy, the traits must provide:
\ccMethod{Compare_distance_3 compare_distance_3_object();}{}
The following functions must be provided only if the methods of
\ccc{Delaunay_triangulation_3} returning elements of the Voronoi diagram
are instantiated:
@ -125,10 +130,13 @@ are instantiated:
\ccHasModels
\ccc{CGAL::Exact_predicates_inexact_constructions_kernel} (recommended)\\
\ccc{CGAL::Exact_predicates_exact_constructions_kernel} (recommended for
Voronoi)\\
\ccc{CGAL::Filtered_kernel}\\
\ccc{CGAL::Cartesian}\\
\ccc{CGAL::Homogeneous}\\
\ccc{CGAL::Simple_cartesian}\\
\ccc{CGAL::Simple_homogeneous}\\
\ccc{CGAL::Filtered_kernel}
\ccc{CGAL::Homogeneous}\\
\ccc{CGAL::Simple_homogeneous}
\end{ccRefConcept}

View File

@ -220,6 +220,10 @@ with \ccc{p}.}
\cgal\ offers several functionalities to display the Voronoi diagram of
a set of points in 3D.
Note that the user should use a kernel with exact constructions in order
to guarantee the computation of the Voronoi diagram (as opposed to computing
the triangulation only, which requires only exact predicates).
\ccMethod{Point dual(Cell_handle c) const;}
{Returns the circumcenter of the four vertices of c.
\ccPrecond{\ccVar.\ccc{dimension()}$=3$ and \ccc{c} is not infinite.}}

View File

@ -24,7 +24,8 @@ vertex case.
\ccHasModels
\ccc{CGAL::Triangulation_cell_base_3}
\ccc{CGAL::Triangulation_cell_base_3}\\
\ccc{CGAL::Triangulation_cell_base_with_info_3}
\ccSeeAlso

View File

@ -102,10 +102,12 @@ The following functions give access to the predicate and construction objects:
\ccHasModels
\ccc{CGAL::Exact_predicates_inexact_constructions_kernel} (recommended)\\
\ccc{CGAL::Exact_predicates_exact_constructions_kernel}\\
\ccc{CGAL::Filtered_kernel}\\
\ccc{CGAL::Cartesian}\\
\ccc{CGAL::Homogeneous}\\
\ccc{CGAL::Simple_cartesian}\\
\ccc{CGAL::Simple_homogeneous}\\
\ccc{CGAL::Filtered_kernel}
\ccc{CGAL::Homogeneous}\\
\ccc{CGAL::Simple_homogeneous}
\end{ccRefConcept}

View File

@ -72,6 +72,7 @@ point and other possible information.}
\ccHasModels
\ccc{CGAL::Triangulation_vertex_base_3}\\
\ccc{CGAL::Triangulation_vertex_base_with_info_3}\\
\ccc{CGAL::Triangulation_hierarchy_vertex_base_3}
\ccSeeAlso

View File

@ -40,10 +40,7 @@ It has the default value \ccc{Triangulation_ds_cell_base_3<>}.
\ccSeeAlso
\ccc{CGAL::Triangulation_ds_cell_base_3}\\
\ccc{CGAL::Triangulation_cell_base_with_info_3}\\
\ccc{CGAL::Triangulation_vertex_base_3}
%% \ccExample
%% \ccIncludeExampleCode{examples/Triangulation3/Triangulation_cell_base_3_prog.C}
\end{ccRefClass}

View File

@ -18,6 +18,7 @@
The class \ccc{Triangulation_cell_base_with_info_3} is a model of the concept
\ccc{TriangulationCellBase_3}, the base cell of a 3D-triangulation.
It provides an easy way to add some user defined information in cells.
Note that input/output operators discard this additional information.
\ccInclude{CGAL/Triangulation_cell_base_with_info_3.h}

View File

@ -39,6 +39,7 @@ It is parameterized by a model of the concept \ccc{TriangulationVertexBase_3}.
\ccSeeAlso
\ccc{CGAL::Triangulation_hierarchy_3}\\
\ccc{CGAL::Triangulation_vertex_base_3}
\ccc{CGAL::Triangulation_vertex_base_3}\\
\ccc{CGAL::Triangulation_vertex_base_with_info_3}
\end{ccRefClass}

View File

@ -53,10 +53,7 @@ It has the default value \ccc{Triangulation_ds_vertex_base_3<>}.
\ccc{CGAL::Triangulation_cell_base_3}\\
\ccc{CGAL::Triangulation_ds_vertex_base_3}\\
\ccc{CGAL::Triangulation_vertex_base_with_info_3}\\
\ccc{CGAL::Triangulation_hierarchy_vertex_base_3}
%% \ccExample
%% \ccIncludeExampleCode{examples/Triangulation3/Triangulation_vertex_base_3_prog.C}
\end{ccRefClass}

View File

@ -18,6 +18,7 @@
The class \ccc{Triangulation_vertex_base_with_info_3} is a model of the concept
\ccc{TriangulationVertexBase_3}, the base vertex of a 3D-triangulation.
It provides an easy way to add some user defined information in vertices.
Note that input/output operators discard this additional information.
\ccInclude{CGAL/Triangulation_vertex_base_with_info_3.h}