CGAL 6.0.1 - Geometric Object Generators
Loading...
Searching...
No Matches
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  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
 The class Random is a random numbers generator. More...
 
struct  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...
 
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_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_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_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_sphere_3
 The class Random_points_in_sphere_3 is an input iterator creating points uniformly distributed strictly inside a sphere. 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_tetrahedral_mesh_3
 The class Random_points_in_tetrahedral_mesh_3 is an input iterator creating points uniformly distributed inside a tetrahedral mesh of type Mesh_complex_3_in_triangulation_3. More...
 
class  Random_points_in_tetrahedral_mesh_boundary_3
 The class Random_points_in_tetrahedral_mesh_boundary_3 is an input iterator creating points uniformly distributed on the boundary of a tetrahedral mesh of type Mesh_complex_3_in_triangulation_3. 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_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_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_triangle_mesh_2
 The class Random_points_in_triangle_mesh_2 is an input iterator creating points uniformly distributed inside a 2D domain represented by a 2D triangulation. More...
 
struct  Random_points_in_triangle_mesh_3
 The class Random_points_in_triangle_mesh_3 is an input iterator creating points uniformly distributed inside the faces of a triangle mesh model of FaceListGraph. More...
 
struct  Random_points_in_triangles_2
 The class Random_points_in_triangles_2 is an input iterator creating points uniformly distributed inside a range of Triangle_2. More...
 
struct  Random_points_in_triangles_3
 The class Random_points_in_triangles_3 is an input iterator creating points uniformly distributed inside a range of Triangle_3. 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_segment_3
 The class Random_points_on_segment_3 is an input iterator creating points uniformly distributed on a segment. 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_on_sphere_d
 The class Random_points_on_sphere_d is an input iterator creating points uniformly distributed on a sphere. 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...
 

Functions

template<class ForwardIterator , class Creator >
void perturb_points_2 (ForwardIterator first, ForwardIterator last, double xeps, double yeps=xeps, Random &rnd=get_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.
 
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.
 
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.
 
template<class RandomAccessIterator , class OutputIterator , class Creator >
OutputIterator random_collinear_points_2 (RandomAccessIterator first, RandomAccessIterator last, std::size_t n, OutputIterator first2, Random &rnd=get_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).
 
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.
 
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.
 
Randomget_default_random ()
 The global function get_default_random() returns the default random numbers generator used for the generator functions and classes.
 
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.
 
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.
 
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.
 
template<class RandomAccessIterator , class Size , class OutputIterator , class Random >
OutputIterator random_selection (RandomAccessIterator first, RandomAccessIterator last, Size n, OutputIterator result, Random &rnd=get_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.
 

Variables

CGAL::Random default_random