#include <CGAL/point_generators_2.h>
template<typename Point_2, typename Creator>
class CGAL::Random_points_on_segment_2< Point_2, Creator >
The class Random_points_on_segment_2
is an input iterator creating points uniformly distributed on a segment.
The default Creator
is Creator_uniform_2<Kernel_traits<Point_2>::Kernel::RT,Point_2>
.
- Is model of
InputIterator
PointGenerator
- See also
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_in_triangle_2<Point_2, Creator>
-
CGAL::Random_points_on_circle_2<Point_2, Creator>
-
CGAL::Random_points_on_square_2<Point_2, Creator>
- Examples
- Generator/random_segments1.cpp.
◆ difference_type
template<typename Point_2 , typename Creator >
◆ iterator_category
template<typename Point_2 , typename Creator >
◆ pointer
template<typename Point_2 , typename Creator >
◆ reference
template<typename Point_2 , typename Creator >
◆ value_type
template<typename Point_2 , typename Creator >
◆ Random_points_on_segment_2()
template<typename Point_2 , typename Creator >
creates an input iterator g
generating points of type Point_2
uniformly distributed on the segment from \( p\) to \( q\) (excluding \( q\)), i.e. \( *g == (1-\lambda)\, p + \lambda q\) where \( 0 \le\lambda< 1\).
A single random number is needed from rnd
for each point. The expressions to_double(p.x())
and to_double(p.y())
must result in the respective double
representation of the coordinates of \( p\), and similarly for \( q\).