2D line segment - Integer More...
#include <line_segment.h>
Inheritance diagram for clan::LineSegment2:Public Member Functions | |
| LineSegment2 () | |
| LineSegment2 (const LineSegment2x< int > ©) | |
| LineSegment2 (const Vec2< int > &point_p, const Vec2< int > &point_q) | |
Attributes | |
| Vec2< int > | get_midpoint () const |
| Get the midpoint of this line. More... | |
| int | point_distance (const Vec2< int > &point) |
| Return the distance from a point to a line. More... | |
| bool | collinear (const LineSegment2x< int > &second) const |
| Return true if two line segments are collinear. (All points are on the same line.) More... | |
| bool | intersects (const LineSegment2x< int > &second, bool collinear_intersect) const |
| Return true if two line segments intersect. More... | |
| Vec2< int > | get_intersection (const LineSegment2x< int > &second, bool &intersect) const |
| Return the intersection point of two lines. More... | |
| int | point_right_of_line (const Vec2< int > &point) const |
| Return [<0, 0, >0] if the Point P is right, on or left of the line trough A,B. More... | |
| Vec2< int > | normal () const |
| Return the normal vector of the line from point A to point B. More... | |
Operations | |
| LineSegment2x< int > & | clip (const Rectx< int > &rect, bool &clipped) |
| Clip this line to a rectangle. More... | |
Operators | |
| bool | operator== (const LineSegment2x< int > &line) const |
| == operator. More... | |
| bool | operator!= (const LineSegment2x< int > &line) const |
| != operator. More... | |
Public Attributes | |
| Vec2< int > | p |
| Start point on the line. More... | |
| Vec2< int > | q |
2D line segment - Integer
A line segment has a start point and an end point
|
inherited |
Clip this line to a rectangle.
If clipping was not successful, this object is undefined
| rect | = Rectangle to clip to |
| clipped | = On Return: true if the line could be clipped, false if line exists outside the rectangle |
|
inherited |
Return true if two line segments are collinear. (All points are on the same line.)
| second | = The second line to check with |
|
inherited |
Return the intersection point of two lines.
| second | = Second line. |
| intersect | = On Return: The intercept. If the lines are parallel, this contains this line's first point |
|
inlineinherited |
Get the midpoint of this line.
References clan::LineSegment2x< Type >::p, and clan::LineSegment2x< Type >::q.
|
inherited |
Return true if two line segments intersect.
| second | = Second line. |
| collinear_intersect | = true if a collision is reported when all points are on the same line. |
|
inherited |
Return the normal vector of the line from point A to point B.
When using Vec2i, the vector is an 8 bit fraction (multiplied by 256)
|
inlineinherited |
!= operator.
References clan::LineSegment2x< Type >::p, and clan::LineSegment2x< Type >::q.
|
inlineinherited |
== operator.
References clan::LineSegment2x< Type >::p, and clan::LineSegment2x< Type >::q.
|
inherited |
Return the distance from a point to a line.
| point | = The point. |
|
inlineinherited |
Return [<0, 0, >0] if the Point P is right, on or left of the line trough A,B.
| point | = The point |
References clan::LineSegment2x< Type >::p, clan::LineSegment2x< Type >::q, clan::Vec2< Type >::x, and clan::Vec2< Type >::y.
|
inherited |
Start point on the line.
|
inherited |