## CGAL::Random_points_on_square_2<Point_2, Creator>

### Definition

The class Random_points_on_square_2<Point_2, Creator> is an input iterator creating points uniformly distributed in the boundary of a square. The default Creator is Creator_uniform_2<Kernel_traits<P>::Kernel::RT,P>.

### Is Model for the Concept

InputIterator
PointGenerator

#include <CGAL/point_generators_2.h>

### Types

typedef std::input_iterator_tag
| iterator_category;
typedef Point_2 | value_type;
typedef std::ptrdiff_t
| difference_type;
typedef const Point_2*
| pointer;
typedef Point_2 | reference;

### Operations

Random_points_on_square_2<Point_2, Creator> g ( | double a, Random& rnd = default_random);

| g is an input iterator creating points of type Point_2 uniformly distributed on the boundary of the square with side length 2 a, centered at the origin, i.e. p = *g: one coordinate is either a or -a and for the other coordinate c holds -a c < a . A single random number is needed from rnd for each point.

### See Also

CGAL::copy_n
CGAL::Counting_iterator
CGAL::Points_on_segment_2<Point_2>
CGAL::Random_points_in_disc_2<Point_2, Creator>
CGAL::Random_points_in_square_2<Point_2, Creator>
CGAL::Random_points_on_circle_2<Point_2, Creator>
CGAL::Random_points_on_segment_2<Point_2, Creator>
std::random_shuffle