#include <ariaUtil.h>
Inheritance diagram for ArLineSegment:

The segment is defined by the coordinates of each endpoint.
Public Member Functions | |
| ArLineSegment (ArPose pose1, ArPose pose2) | |
| Constructor with endpoints as ArPose objects. Only X and Y components of the poses will be used. | |
| ArLineSegment (double x1, double y1, double x2, double y2) | |
| Constructor with endpoints. | |
| ArLineSegment () | |
| double | getA (void) const |
| Gets the A line parameter (see ArLine). | |
| double | getB (void) const |
| Gets the B line parameter (see ArLine). | |
| double | getC (void) const |
| Gets the C line parameter (see ArLine). | |
| double | getDistToLine (const ArPose pose) |
| Gets the distance from this line segment to a point. | |
| ArPose | getEndPoint1 (void) const |
| Get the first endpoint (X1, Y1). | |
| ArPose | getEndPoint2 (void) const |
| Get the second endpoint of (X2, Y2). | |
| double | getLengthOf () const |
| Determines the length of the line segment. | |
| const ArLine * | getLine (void) const |
| virtual double | getPerpDist (const ArPose pose) |
| Calculate the distance from the given point to (its projection on) this line segment. | |
| bool | getPerpPoint (const ArPose *pose, ArPose *perpPoint) |
| bool | getPerpPoint (ArPose pose, ArPose *perpPoint) |
| Determine the intersection point between this line segment, and a perpendicular line passing through the given pose (i.e. projects the given pose onto this line segment.). | |
| virtual double | getPerpSquaredDist (const ArPose pose) |
| Calculate the squared distance from the given point to (its projection on) this line segment. | |
| double | getX1 (void) const |
| Gets the x coordinate of the first endpoint. | |
| double | getX2 (void) const |
| Gets the x coordinate of the second endpoint. | |
| double | getY1 (void) const |
| Gets the y coordinate of the first endpoint. | |
| double | getY2 (void) const |
| Gets the y coordinate of the second endpoint. | |
| bool | intersects (ArLineSegment *line, ArPose *pose) |
| bool | intersects (const ArLine *line, ArPose *pose) const |
| Determine where a line intersects this line segment. | |
| bool | linePointIsInSegment (ArPose *pose) const |
| Internal function for seeing if a point on our line is within our segment. | |
| void | newEndPoints (const ArPose &pt1, const ArPose &pt2) |
| Set new end points for this line segment. | |
| void | newEndPoints (double x1, double y1, double x2, double y2) |
| Set new end points for this line segment. | |
| virtual bool | operator!= (const ArLineSegment &other) const |
| virtual bool | operator< (const ArLineSegment &other) const |
| Less than operator (for sets). | |
| virtual bool | operator== (const ArLineSegment &other) const |
| Equality operator (for sets). | |
Protected Attributes | |
| ArLine | myLine |
| double | myX1 |
| double | myX2 |
| double | myY1 |
| double | myY2 |
| ArLineSegment::ArLineSegment | ( | ) | [inline] |
Java and Python Wrappers: Not available in Java or Python wrapper libraries.
| ArLineSegment::ArLineSegment | ( | double | x1, | |
| double | y1, | |||
| double | x2, | |||
| double | y2 | |||
| ) | [inline] |
Constructor with endpoints.
Java and Python Wrappers: Not available in Java or Python wrapper libraries.
| double ArLineSegment::getDistToLine | ( | const ArPose | pose | ) | [inline] |
Gets the distance from this line segment to a point.
If the point can be projected onto this line segment (i.e. a perpendicular line can be drawn through the point), then return that distance. Otherwise, return the distance to the closest endpoint.
| pose | the pointer of the pose to find the distance to |
| virtual double ArLineSegment::getPerpDist | ( | const ArPose | pose | ) | [inline, virtual] |
Calculate the distance from the given point to (its projection on) this line segment.
| pose | the the pose to find the perp point of |
Determine the intersection point between this line segment, and a perpendicular line passing through the given pose (i.e. projects the given pose onto this line segment.).
If there is no intersection, false is returned.
| pose | The X and Y components of this pose object indicate the point to project onto this line segment. | |
| perpPoint | The X and Y components of this pose object are set to indicate the intersection point |
Determine the intersection point between this line segment, and a perpendicular line passing through the given pose (i.e. projects the given pose onto this line segment.).
If there is no intersection, false is returned.
| pose | The X and Y components of this pose object indicate the point to project onto this line segment. | |
| perpPoint | The X and Y components of this pose object are set to indicate the intersection point |
| virtual double ArLineSegment::getPerpSquaredDist | ( | const ArPose | pose | ) | [inline, virtual] |
Calculate the squared distance from the given point to (its projection on) this line segment.
| pose | the the pose to find the perp point of |
| bool ArLineSegment::intersects | ( | ArLineSegment * | line, | |
| ArPose * | pose | |||
| ) | [inline] |
Determine where a line intersects this line segment.
| line | Line to check for intersection against this line segment. | |
| pose | if the lines intersect, the X and Y components of this pose are set to the point of intersection. |
Determine where a line intersects this line segment.
| line | Line to check for intersection against this line segment. | |
| pose | if the lines intersect, the X and Y components of this pose are set to the point of intersection. |
1.5.1