18#ifndef QGSLINESEGMENT_H
19#define QGSLINESEGMENT_H
60 return std::sqrt( ( mStart.x() - mEnd.x() ) * ( mStart.x() - mEnd.x() ) + ( mStart.y() - mEnd.y() ) * ( mStart.y() - mEnd.y() ) );
69 return ( mStart.x() - mEnd.x() ) * ( mStart.x() - mEnd.x() ) + ( mStart.y() - mEnd.y() ) * ( mStart.y() - mEnd.y() );
218 std::swap( mStart, mEnd );
226 return mStart == other.mStart && mEnd == other.mEnd;
232 return mStart != other.mStart || mEnd != other.mEnd;
Represents a single 2D line segment, consisting of a 2D start and end vertex only.
double endY() const
Returns the segment's end y-coordinate.
QgsLineSegment2D(const QgsPointXY &start, const QgsPointXY &end)
Constructor for a QgsLineSegment2D from the specified start point to the end point.
QgsLineSegment2D(double x1, double y1, double x2, double y2)
Constructor for a QgsLineSegment2D from the point (x1, y2) to (x2, y2).
void setEnd(const QgsPointXY &end)
Sets the segment's end point.
QgsPointXY end() const
Returns the segment's end point.
double endX() const
Returns the segment's end x-coordinate.
void setStart(const QgsPointXY &start)
Sets the segment's start point.
void setStartX(double x)
Sets the segment's start x coordinate.
QgsPointXY start() const
Returns the segment's start point.
bool operator!=(const QgsLineSegment2D &other) const
Inequality operator.
bool operator==(const QgsLineSegment2D &other) const
Equality operator.
double lengthSquared() const
Returns the squared length of the segment.
void setEndY(double y)
Sets the segment's end y coordinate.
void setStartY(double y)
Sets the segment's start y coordinate.
void setEndX(double x)
Sets the segment's end x coordinate.
double startX() const
Returns the segment's start x-coordinate.
void reverse()
Reverses the line segment, so that the start and end points are flipped.
double startY() const
Returns the segment's start y-coordinate.
double length() const
Returns the length of the segment.
Line string geometry type, with support for z-dimension and m-values.
A class to represent a 2D point.