template
point_type get(const Segment& segment, direction_1d dir) |
Returns the low or high endpoint of an object that models segment, depending on
the direction_1d value. |
template
Segment, typename Point>
void set(Segment& segment, direction_1d dir,
const Point& point) |
Sets
the low or high endpoint of an object that models segment to an object
that models point, depending on the direction_1d value. |
template
Segment construct(const Point1& low, const Point2& high) |
Constructs an object that is a model of segment given the two objects that are models of point. |
template Segment2> Segment1 copy_construct(const Segment2& segment) |
Copy constructs an object that models segment given another segment. |
template
Segment1, typename Segment2>
Segment1& assign(Segment1& segment1,
const Segment2& segment2) |
Copies data from the second object that models segment into
the first object that models segment. |
template
Segment1, typename Segment1>
bool equivalence(const Segment1& segment1,
const Segment1& segment2) |
Given two objects that model segment, compares and
returns true if their low and high values are respectively equal. |
template
int orientation(const Segment& segment,
const Point& point)
|
Implements
a robust orientation test of two objects that model segment and point.
Returns 0, if the point is collinear to the segment.
Returns 1, if the point lies to the left of the segment.
Returns -1, if the point lies to the right of the segment.
|
template
int orientation(const Segment1& segment1,
const Segment2& segment2) |
Implements a robust orientation test of two objects
that model segment. Note: segments are treated as math.
vectors.
Returns 0, if segments are collinear.
Returns 1, if the second segment is CCW oriented to the first segment.
Returns -1, if the second segment is CW oriented to the first segment.
|
template Segment, typename Point>
bool contains(const Segment& segment,
const Point& value, bool consider_touch)
|
Returns true if an object that models segment contains an object that models point, else false.
|
template
bool contains(const Segment1& segment1,
const Segment2& segment2, bool consider_touch) |
Returns true if the first object contains the second one, else false. Both objects model segment.
|
template Segment>
point_type low(const Segment& segment)
|
Returns the low endpoint of an object that models segment.
|
template Segment>
point_type high(const Segment& segment) |
Returns the high endpoint of an object that models segment.
|
template Segment>
point_type center(const Segment& segment) |
Returns the central point of an object that models segment.
|
template Segment, typename Point> void low(Segment& segment, const Point& point) |
Sets the low endpoint of an object that models segment.
|
template Segment, typename Point>
void high(Segment& segment, const Point& point) |
Sets the high endpoint of an object that models of segment.
|
template Segment>
distance_type length(const Segment& segment)
|
Returns length of an object that models segment.
|
template
Segment> Segment& scale_up(Segment& segment, unsigned_area_type factor) |
Multiplies x and y coordinates of both endpoints of an object that models segment by unsigned factor. |
template
Segment>
Segment& scale_down(Segment& segment,
unsigned_area_type factor) |
Divides x and y coordinates of both endpoints of an object that models segment by unsigned factor. |
template
Segment, typename Scale>
Segment& scale(Segment& segment, const Scale& sc) |
Calls
the scale member function of the scaling type on the low and high endpoint of
an object that models segment and updates the segment with the
scaled endpoints. |
template
Segment, typename Transform> Segment& transform(Segment& segment, const Transform& tr) |
Calls the transform member function of transform type
on the low and high endpoints of an object that models segment and updates the segment with the transformed endpoints. |
template
Segment>
Segment& move(Segment& segment, orientation_2d
coordinate_difference displacement) |
Adds displacement value to the x or y coordinates of both endpoints of an object
that models segment indicated by the orientation_2d. |
template
<Segment, Point>
Segment& convolve(Segment& segment, const Point& point) |
Convolves both endpoints of an object that models segment with an object that models a point.
|
template
<Segment, Point>
Segment& deconvolve(Segment& segment, const Point& point) |
Deconvolves both endpoints of an object that models segment with an object that models a point. |
template
bool abuts(const Segment1& segment1,
const Segment2& segment2, direction_1d dir) |
Returns true if two objects that model segment abut, depending on the direction_1d value. |
template
bool abuts(const Segment1& segment1,
const Segment2& segment2) |
Returns true if two objects that model segment abut: either the first one to the second one or vice versa. |
template
bool intersects(const Segment1& segment1,
const Segment2& segment2,
bool consider_touch)
|
Returns true if two objects that model segment intersect, else false.
|
template
Segment, typename Point> distance_type euclidean_distance(
const Segment& segment, const Point& point)
|
Returns distance from an object that models segment
to an object that models point.
|
template
Segment2> distance_type euclidean_distance(
const Segment1& segment1, const Segment2& segment2)
|
Returns distance between two objects that model segment.
|