mirror of https://github.com/CGAL/cgal
doc updates
This commit is contained in:
parent
8f5ac8d061
commit
5601a0306d
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 |
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -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.}}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 |
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -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.}}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue