CGAL 4.7 - Geometric Object Generators: CGAL Namespace Reference

\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)

CGAL 4.7 - Geometric Object Generators

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Classes | Functions | Variables
CGAL Namespace Reference

## Classes

class | Combination_enumerator
| The class `Combination_enumerator` is used to enumerate all fixed-size combinations (subsets) of a source range of elements. More...
class | Random_points_in_disc_2
| The class `Random_points_in_disc_2` is an input iterator creating points uniformly distributed in an open disc. More...
class | Random_points_in_square_2
| The class `Random_points_in_square_2` is an input iterator creating points uniformly distributed in a half-open square. More...
class | Random_points_in_triangle_2
| The class `Random_points_in_triangle_2` is an input iterator creating points uniformly distributed inside a triangle. More...
class | Random_points_on_circle_2
| The class `Random_points_on_circle_2` is an input iterator creating points uniformly distributed on a circle. More...
class | Random_points_on_segment_2
| The class `Random_points_on_segment_2` is an input iterator creating points uniformly distributed on a segment. More...
class | Random_points_on_square_2
| The class `Random_points_on_square_2` is an input iterator creating points uniformly distributed on the boundary of a square. More...
class | Points_on_segment_2
| The class `Points_on_segment_2` is a generator for points on a segment whose endpoints are specified upon construction. More...
class | Random_points_in_cube_3
| The class `Random_points_in_cube_3` is an input iterator creating points uniformly distributed in a half-open cube. More...
class | Random_points_in_sphere_3
| The class `Random_points_in_sphere_3` is an input iterator creating points uniformly distributed in an open sphere. More...
class | Random_points_in_triangle_3
| The class `Random_points_in_triangle_3` is an input iterator creating points uniformly distributed inside a 3D triangle. More...
class | Random_points_in_tetrahedron_3
| The class `Random_points_in_tetrahedron_3` is an input iterator creating points uniformly distributed inside a tetrahedron. More...
class | Random_points_on_sphere_3
| The class `Random_points_on_sphere_3` is an input iterator creating points uniformly distributed on a sphere. More...
class | Random_points_in_ball_d
| The class `Random_points_in_ball_d` is an input iterator creating points uniformly distributed in an open ball in any dimension. More...
class | Random_points_in_cube_d
| The class `Random_points_in_cube_d` is an input iterator creating points uniformly distributed in an half-open cube. More...
class | Random_points_on_sphere_d
| The class `Random_points_on_sphere_d` is an input iterator creating points uniformly distributed on a sphere. More...
class | Random
| The class `Random` is a random numbers generator. More...
class | Random_convex_set_traits_2
| The class `Random_convex_set_traits_2` serves as a traits class for the function `random_convex_set_2()`. More...

## Functions

template<class ForwardIterator , class Creator >
void | perturb_points_2 (ForwardIterator first, ForwardIterator last, double xeps, double yeps=xeps, Random &rnd=default_random, Creator creator=Creator_uniform_2< Kernel_traits< P >::Kernel::RT, P >)
| perturbs each point in a given range of points by a random amount. More...
template<class P , class OutputIterator >
OutputIterator | points_on_segment_2 (const P &p, const P &q, std::size_t n, OutputIterator o)
| generates a set of points equally spaced on a segment given the endpoints of the segment. More...
template<class OutputIterator , class Creator >
OutputIterator | points_on_square_grid_2 (double a, std::size_t n, OutputIterator o, Creator creator=Creator_uniform_2< Kernel_traits< P >::Kernel::RT, P >)
| generates a given number of points on a square grid whose size is determined by the number of points to be generated. More...
template<class RandomAccessIterator , class OutputIterator , class Creator >
OutputIterator | random_collinear_points_2 (RandomAccessIterator first, RandomAccessIterator last, std::size_t n, OutputIterator first2, Random &rnd=default_random, Creator creator=Creator_uniform_2< Kernel_traits< P >::Kernel::RT, P >)

randomly chooses two points from the range `[first,last)`, creates a random third point on the segment connecting these two points, writes it to `first2`, and repeats this \( n\) times, thus writing \( n\) points to `first2` that are collinear with points in the range `[first,last)`. More...

template<class OutputIterator , class Creator >
OutputIterator | points_on_cube_grid_3 (double a, std::size_t n, OutputIterator o, Creator creator=Creator_uniform_3< Kernel_traits< Point_3 >::Kernel::RT, Point_3 >)
| generates a given number of points on a cubic grid whose size is determined by the number of points to be generated. More...
template<class OutputIterator , class Creator >
OutputIterator | points_on_cube_grid_d (int dim, double a, std::size_t n, OutputIterator o, Creator creator)
| generates a given number of points on a cubic grid in any dimension whose size is determined by the number of points to be generated. More...
template<class OutputIterator , class Traits , class Generator >
void | random_convex_hull_in_disc_2 (std::size_t n, double radius, Generator &gen, OutputIterator it, const Traits &traits, bool fast=true)
| Computes a random convex polygon as the convex hull of \( n \) random points in a disc centered at the origin with radius `radius`. More...
template<class OutputIterator , class PointGenerator , class Traits >
OutputIterator | random_convex_set_2 (std::size_t n, OutputIterator o, const PointGenerator &pg, Traits t=Random_convex_set_traits_2)
| computes a random convex planar point set of given size where the points are drawn from a specific domain. More...
template<class OutputIterator , class PointGenerator , class Traits >
OutputIterator | random_polygon_2 (std::size_t n, OutputIterator result, const PointGenerator &pg, Traits t=Default_traits)
| computes a random simple polygon by writing its vertices (oriented counterclockwise) to `result`. More...
template<class RandomAccessIterator , class Size , class OutputIterator , class Random >
OutputIterator | random_selection (RandomAccessIterator first, RandomAccessIterator last, Size n, OutputIterator result, Random &rnd=default_random)
| chooses `n` items at random from a random access iterator range which is useful to produce degenerate input data sets with multiple entries of identical items. More...

## Variables

CGAL::Random | default_random
| The variable `default_random` is the default random numbers generator used for the generator functions and classes.