Aria  2.8.0
ArLineSegment Class Reference

Represents a line segment in two-dimensional space. More...

`#include <ariaUtil.h>`

Inherited by ArLineFinderSegment.

## Public Member Functions

ArLineSegment ()

ArLineSegment (double x1, double y1, double x2, double y2)
Constructor with endpoints. More...

ArLineSegment (ArPose pose1, ArPose pose2)
Constructor with endpoints as ArPose objects. Only X and Y components of the poses will be used.

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) const
Gets the distance from this line segment to a point. More...

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 ArLinegetLine (void) const

ArPose getMidPoint () const
Determines the mid point of the line segment.

virtual double getPerpDist (const ArPose &pose) const
Calculate the distance from the given point to (its projection on) this line segment. More...

bool getPerpPoint (const ArPose &pose, ArPose *perpPoint) const
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.) More...

bool getPerpPoint (const ArPose *pose, ArPose *perpPoint) const

virtual double getPerpSquaredDist (const ArPose &pose) const
Calculate the squared distance from the given point to (its projection on) this line segment. More...

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 (const ArLine *line, ArPose *pose) const
Determine where a line intersects this line segment. More...

bool intersects (ArLineSegment *line, ArPose *pose) const
Determine where a line intersects this line segment. More...

bool linePointIsInSegment (ArPose *pose) const
Internal function for seeing if a point on our line is within our segment.

void newEndPoints (double x1, double y1, double x2, double y2)
Set new end points for this line segment.

void newEndPoints (const ArPose &pt1, const ArPose &pt2)
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)

ArLine myLine

double myX1

double myX2

double myY1

double myY2

## Detailed Description

Represents a line segment in two-dimensional space.

The segment is defined by the coordinates of each endpoint.

## ◆ ArLineSegment() [1/2]

 ArLineSegment::ArLineSegment ( )
inline

Java and Python Wrappers: Not available in Java or Python wrapper libraries.

## ◆ ArLineSegment() [2/2]

 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.

## ◆ getDistToLine()

 double ArLineSegment::getDistToLine ( const ArPose & pose ) const
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.

Parameters
 pose the pointer of the pose to find the distance to

## ◆ getPerpDist()

 virtual double ArLineSegment::getPerpDist ( const ArPose & pose ) const
inlinevirtual

Calculate the distance from the given point to (its projection on) this line segment.

Parameters
 pose the the pose to find the perp point of
Returns
if the pose does not intersect segment it will return < 0 if the pose intersects the segment it will return the distance to the intersection

## ◆ getPerpPoint() [1/2]

 bool ArLineSegment::getPerpPoint ( const ArPose & pose, ArPose * perpPoint ) const
inline

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.

Parameters
 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
Returns
true if an intersection was found and perpPoint was modified, false otherwise.

Java and Python Wrappers: Not available in Java or Python wrapper libraries.

## ◆ getPerpPoint() [2/2]

 bool ArLineSegment::getPerpPoint ( const ArPose * pose, ArPose * perpPoint ) const
inline

(This version simply allows you to pass the first pose as a pointer, in time-critical situations where a full copy of the object would impact performance.)

## ◆ getPerpSquaredDist()

 virtual double ArLineSegment::getPerpSquaredDist ( const ArPose & pose ) const
inlinevirtual

Calculate the squared distance from the given point to (its projection on) this line segment.

Parameters
 pose the the pose to find the perp point of
Returns
if the pose does not intersect segment it will return < 0 if the pose intersects the segment it will return the distance to the intersection

## ◆ intersects() [1/2]

 bool ArLineSegment::intersects ( const ArLine * line, ArPose * pose ) const
inline

Determine where a line intersects this line segment.

Parameters
 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.
Returns
true if they intersect, false if they do not

## ◆ intersects() [2/2]

 bool ArLineSegment::intersects ( ArLineSegment * line, ArPose * pose ) const
inline

Determine where a line intersects this line segment.

Parameters
 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.
Returns
true if they intersect, false if they do not

The documentation for this class was generated from the following file:
• ariaUtil.h