diff --git a/Packages/Generator/doc_tex/Generator/generators.tex b/Packages/Generator/doc_tex/Generator/generators.tex index cc30bb448aa..c9060a64b33 100644 --- a/Packages/Generator/doc_tex/Generator/generators.tex +++ b/Packages/Generator/doc_tex/Generator/generators.tex @@ -15,7 +15,8 @@ \chapter{Random Sources and Geometric Object Generators} \label{chapterGenerators} -\ccChapterSubTitle{\generatorsRev. \ \generatorsDate}\\ +\ccChapterRelease{\generatorsRev. \ \generatorsDate}\\ +\ccChapterAuthor{Michael Hoffmann}\\ \ccChapterAuthor{Lutz Kettner}\\ \ccChapterAuthor{Sven Sch\"onherr} @@ -32,7 +33,8 @@ third section documents generators for two-dimensional point sets, the fourth section for three-dimensional point sets. The fifth section presents examples using functions from Section~\ref{sectionGenericFunctions} to generate composed objects -like segments. Note that the \stl\ algorithm \ccc{random_shuffle} is +like segments. The sixth section describes ramdom conves sets. + Note that the \stl\ algorithm \ccc{random_shuffle} is useful in this context to achieve random permutations for otherwise regular generators (e.g.~points on a grid or segment). @@ -71,7 +73,6 @@ sets with multiple entries of identical items. } - % +------------------------------------------------------------------------+ \newpage \section{2D Point Generators} @@ -99,8 +100,8 @@ domain (boundary of a square, circle, or segment). Another input iterator generates equally spaced points from a segment. All iterators are parameterized with the point type \ccc{P} and all -with the exception of \ccc{CGAL_Points_on_segment_2} have a second -template argument \ccc{Creator} which defaults to +with the exception of the class \ccc{CGAL_Points_on_segment_2} have a second +template argument \ccc{Creator} which defaults to the class \ccc{CGAL_Creator_uniform_2}\footnote{% For compilers not supporting these kind of default arguments, both template arguments must be provided when using these generators.}. @@ -221,6 +222,14 @@ The generators \ccc{CGAL_Random_points_on_segment_2} and \end{ccClassTemplate} +\ccSeeAlso + +\ccc{stl::random_shuffle}, \ccc{CGAL_random_selection}, +\ccc{CGAL_copy_n}, \ccc{CGAL_Counting_iterator}, +\ccTexHtml{\\}{} +\ccc{CGAL_Join_input_iterator_1}. + + % +------------------------------------------------------------------------+ \subsection{Point Generators as Functions} @@ -233,7 +242,7 @@ Grid points are generated by functions writing to an output iterator. \ccFunction{template OutputIterator CGAL_points_on_square_grid_2( double a, size_t n, OutputIterator o, - const P*, Creator creator = + Creator creator = CGAL_Creator_uniform_2);} { creates the $n$ first points on the regular $\lceil\sqrt{n}\,\rceil \times \lceil \sqrt{n}\,\rceil$ grid within the square @@ -325,6 +334,10 @@ a point set. \def\ccLongParamLayout{\ccFalse} +\ccSeeAlso + +\ccc{stl::random_shuffle}, \ccc{CGAL_random_selection}. + \ccExample We want to generate a test set of 1000 points, where 60\% are chosen @@ -342,13 +355,13 @@ Figure~\ref{figurePointGenerator}}{Figure \noindent \hspace*{0.025\textwidth}% \begin{minipage}{0.45\textwidth}% - \epsfig{figure=generators_prog1.ps,width=\textwidth} + \includegraphics[width=\textwidth]{generators_prog1.ps} \caption{Output of example program for point generators.} \label{figurePointGenerator} \end{minipage}% \hspace*{0.05\textwidth}% \begin{minipage}{0.45\textwidth}% - \epsfig{figure=generators_prog2.ps,width=\textwidth}% + \includegraphics[width=\textwidth]{generators_prog2.ps} \caption{Output of example program for point generators working on integer points.} \label{figureIntegerPointGenerator} @@ -479,6 +492,13 @@ denotes \ccc{P} here. \end{ccClassTemplate} +\ccSeeAlso + +\ccc{stl::random_shuffle}, \ccc{CGAL_random_selection}, +\ccc{CGAL_copy_n}, \ccc{CGAL_Counting_iterator}, +\ccTexHtml{\\}{} +\ccc{CGAL_Join_input_iterator_1}. + % +------------------------------------------------------------------------+ \newpage @@ -502,13 +522,13 @@ output. \noindent \hspace*{0.025\textwidth}% \begin{minipage}[t]{0.45\textwidth}% - \epsfig{figure=Segment_generator_prog1.ps,width=\textwidth} + \includegraphics[width=\textwidth]{Segment_generator_prog1.ps} \caption{Output of the first example program for the generic generator.} \label{figureSegmentGenerator} \end{minipage}% \hspace*{0.05\textwidth}% \begin{minipage}[t]{0.45\textwidth}% - \epsfig{figure=Segment_generator_prog2.ps,width=\textwidth} + \includegraphics[width=\textwidth]{Segment_generator_prog2.ps} \caption{Output of the second example program for the generic generator without using intermediate storage.} \label{figureSegmentGeneratorFan} @@ -556,8 +576,22 @@ used, in this example copied to a windowstream. \end{ccHtmlOnly} + % +--------------------------------------------------------+ +% restore default column and paragraph layout +\ccParDims +\cgalColumnLayout \beforecprogskip\parskip \aftercprogskip0pt +\input{rcs_spec} + + +% +--------------------------------------------------------+ +% restore default column and paragraph layout +\ccParDims +\beforecprogskip\parskip +\aftercprogskip0pt + + % EOF diff --git a/Packages/Generator/doc_tex/support/Generator/generators.tex b/Packages/Generator/doc_tex/support/Generator/generators.tex index cc30bb448aa..c9060a64b33 100644 --- a/Packages/Generator/doc_tex/support/Generator/generators.tex +++ b/Packages/Generator/doc_tex/support/Generator/generators.tex @@ -15,7 +15,8 @@ \chapter{Random Sources and Geometric Object Generators} \label{chapterGenerators} -\ccChapterSubTitle{\generatorsRev. \ \generatorsDate}\\ +\ccChapterRelease{\generatorsRev. \ \generatorsDate}\\ +\ccChapterAuthor{Michael Hoffmann}\\ \ccChapterAuthor{Lutz Kettner}\\ \ccChapterAuthor{Sven Sch\"onherr} @@ -32,7 +33,8 @@ third section documents generators for two-dimensional point sets, the fourth section for three-dimensional point sets. The fifth section presents examples using functions from Section~\ref{sectionGenericFunctions} to generate composed objects -like segments. Note that the \stl\ algorithm \ccc{random_shuffle} is +like segments. The sixth section describes ramdom conves sets. + Note that the \stl\ algorithm \ccc{random_shuffle} is useful in this context to achieve random permutations for otherwise regular generators (e.g.~points on a grid or segment). @@ -71,7 +73,6 @@ sets with multiple entries of identical items. } - % +------------------------------------------------------------------------+ \newpage \section{2D Point Generators} @@ -99,8 +100,8 @@ domain (boundary of a square, circle, or segment). Another input iterator generates equally spaced points from a segment. All iterators are parameterized with the point type \ccc{P} and all -with the exception of \ccc{CGAL_Points_on_segment_2} have a second -template argument \ccc{Creator} which defaults to +with the exception of the class \ccc{CGAL_Points_on_segment_2} have a second +template argument \ccc{Creator} which defaults to the class \ccc{CGAL_Creator_uniform_2}\footnote{% For compilers not supporting these kind of default arguments, both template arguments must be provided when using these generators.}. @@ -221,6 +222,14 @@ The generators \ccc{CGAL_Random_points_on_segment_2} and \end{ccClassTemplate} +\ccSeeAlso + +\ccc{stl::random_shuffle}, \ccc{CGAL_random_selection}, +\ccc{CGAL_copy_n}, \ccc{CGAL_Counting_iterator}, +\ccTexHtml{\\}{} +\ccc{CGAL_Join_input_iterator_1}. + + % +------------------------------------------------------------------------+ \subsection{Point Generators as Functions} @@ -233,7 +242,7 @@ Grid points are generated by functions writing to an output iterator. \ccFunction{template OutputIterator CGAL_points_on_square_grid_2( double a, size_t n, OutputIterator o, - const P*, Creator creator = + Creator creator = CGAL_Creator_uniform_2);} { creates the $n$ first points on the regular $\lceil\sqrt{n}\,\rceil \times \lceil \sqrt{n}\,\rceil$ grid within the square @@ -325,6 +334,10 @@ a point set. \def\ccLongParamLayout{\ccFalse} +\ccSeeAlso + +\ccc{stl::random_shuffle}, \ccc{CGAL_random_selection}. + \ccExample We want to generate a test set of 1000 points, where 60\% are chosen @@ -342,13 +355,13 @@ Figure~\ref{figurePointGenerator}}{Figure \noindent \hspace*{0.025\textwidth}% \begin{minipage}{0.45\textwidth}% - \epsfig{figure=generators_prog1.ps,width=\textwidth} + \includegraphics[width=\textwidth]{generators_prog1.ps} \caption{Output of example program for point generators.} \label{figurePointGenerator} \end{minipage}% \hspace*{0.05\textwidth}% \begin{minipage}{0.45\textwidth}% - \epsfig{figure=generators_prog2.ps,width=\textwidth}% + \includegraphics[width=\textwidth]{generators_prog2.ps} \caption{Output of example program for point generators working on integer points.} \label{figureIntegerPointGenerator} @@ -479,6 +492,13 @@ denotes \ccc{P} here. \end{ccClassTemplate} +\ccSeeAlso + +\ccc{stl::random_shuffle}, \ccc{CGAL_random_selection}, +\ccc{CGAL_copy_n}, \ccc{CGAL_Counting_iterator}, +\ccTexHtml{\\}{} +\ccc{CGAL_Join_input_iterator_1}. + % +------------------------------------------------------------------------+ \newpage @@ -502,13 +522,13 @@ output. \noindent \hspace*{0.025\textwidth}% \begin{minipage}[t]{0.45\textwidth}% - \epsfig{figure=Segment_generator_prog1.ps,width=\textwidth} + \includegraphics[width=\textwidth]{Segment_generator_prog1.ps} \caption{Output of the first example program for the generic generator.} \label{figureSegmentGenerator} \end{minipage}% \hspace*{0.05\textwidth}% \begin{minipage}[t]{0.45\textwidth}% - \epsfig{figure=Segment_generator_prog2.ps,width=\textwidth} + \includegraphics[width=\textwidth]{Segment_generator_prog2.ps} \caption{Output of the second example program for the generic generator without using intermediate storage.} \label{figureSegmentGeneratorFan} @@ -556,8 +576,22 @@ used, in this example copied to a windowstream. \end{ccHtmlOnly} + % +--------------------------------------------------------+ +% restore default column and paragraph layout +\ccParDims +\cgalColumnLayout \beforecprogskip\parskip \aftercprogskip0pt +\input{rcs_spec} + + +% +--------------------------------------------------------+ +% restore default column and paragraph layout +\ccParDims +\beforecprogskip\parskip +\aftercprogskip0pt + + % EOF