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)
 

Protected Attributes

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.

Constructor & Destructor Documentation

◆ 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.

Member Function Documentation

◆ 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
posethe 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
posethe 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
poseThe X and Y components of this pose object indicate the point to project onto this line segment.
perpPointThe 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
posethe 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
lineLine to check for intersection against this line segment.
poseif 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
lineLine to check for intersection against this line segment.
poseif 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: