#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