GEOS  3.13.0dev
Public Member Functions | List of all members
geos::simplify::TaggedLineSegment Class Reference

A geom::LineSegment which is tagged with its location in a geom::Geometry. More...

#include <TaggedLineSegment.h>

Inheritance diagram for geos::simplify::TaggedLineSegment:
geos::geom::LineSegment

Public Member Functions

 TaggedLineSegment (const geom::Coordinate &p0, const geom::Coordinate &p1, const geom::Geometry *parent, std::size_t index)
 
 TaggedLineSegment (const geom::Coordinate &p0, const geom::Coordinate &p1)
 
 TaggedLineSegment (const TaggedLineSegment &ls)
 
const geom::GeometrygetParent () const
 
std::size_t getIndex () const
 
- Public Member Functions inherited from geos::geom::LineSegment
 LineSegment (const Coordinate &c0, const Coordinate &c1)
 Segment end.
 
 LineSegment (double x0, double y0, double x1, double y1)
 
void setCoordinates (const Coordinate &c0, const Coordinate &c1)
 
void setCoordinates (const LineSegment &ls)
 
const Coordinateoperator[] (std::size_t i) const
 
Coordinateoperator[] (std::size_t i)
 
double minX () const
 gets the minimum X ordinate value
 
double maxX () const
 gets the maximum X ordinate value
 
double minY () const
 gets the minimum Y ordinate value
 
double maxY () const
 gets the maximum Y ordinate value
 
double getLength () const
 Computes the length of the line segment.
 
bool isHorizontal () const
 
bool isVertical () const
 
int orientationIndex (const LineSegment &seg) const
 
int orientationIndex (const LineSegment *seg) const
 
int orientationIndex (const CoordinateXY &p) const
 
int orientationIndex (const Coordinate &p) const
 Determines the orientation index of a Coordinate relative to this segment. More...
 
void reverse ()
 Reverses the direction of the line segment.
 
void normalize ()
 Puts the line segment into a normalized form. More...
 
double angle () const
 
CoordinateXY midPoint () const
 Computes the midpoint of the segment. More...
 
double distance (const LineSegment &ls) const
 Computes the distance between this line segment and another one.
 
double distance (const CoordinateXY &p) const
 Computes the distance between this line segment and a point.
 
double distancePerpendicular (const CoordinateXY &p) const
 
double distancePerpendicularOriented (const CoordinateXY &p) const
 
void pointAlong (double segmentLengthFraction, Coordinate &ret) const
 Computes the Coordinate that lies a given fraction along the line defined by this segment. More...
 
void pointAlongOffset (double segmentLengthFraction, double offsetDistance, Coordinate &ret) const
 Computes the Coordinate that lies a given fraction along the line defined by this segment and offset from the segment by a given distance. More...
 
LineSegment offset (double offsetDistance)
 
double projectionFactor (const CoordinateXY &p) const
 Compute the projection factor for the projection of the point p onto this LineSegment. More...
 
double segmentFraction (const CoordinateXY &inputPt) const
 Computes the fraction of distance (in [0.0, 1.0]) that the projection of a point occurs along this line segment. More...
 
void project (const Coordinate &p, Coordinate &ret) const
 Compute the projection of a point onto the line determined by this line segment. More...
 
CoordinateXY project (const CoordinateXY &p) const
 
bool project (const LineSegment &seg, LineSegment &ret) const
 Project a line segment onto this line segment and return the resulting line segment. More...
 
void closestPoint (const CoordinateXY &p, CoordinateXY &ret) const
 Computes the closest point on this line segment to another point. More...
 
bool equalsTopo (const LineSegment &other) const
 Returns true if other is topologically equal to this LineSegment (e.g. irrespective of orientation). More...
 
std::array< Coordinate, 2 > closestPoints (const LineSegment &line)
 
std::array< Coordinate, 2 > closestPoints (const LineSegment *line)
 
Coordinate intersection (const LineSegment &line) const
 
Coordinate lineIntersection (const LineSegment &line) const
 Computes the intersection point of the lines defined by two segments, if there is one. More...
 
std::unique_ptr< LineStringtoGeometry (const GeometryFactory &gf) const
 
int compareTo (const LineSegment &other) const
 Compares this object with the specified object for order. More...
 
std::ostream & operator<< (std::ostream &o)
 
bool operator== (const LineSegment &rhs) const
 
bool operator< (const LineSegment &rhs) const
 
bool operator> (const LineSegment &rhs) const
 

Additional Inherited Members

- Public Types inherited from geos::geom::LineSegment
using UnorderedSet = std::unordered_set< LineSegment, HashCode >
 
- Static Public Member Functions inherited from geos::geom::LineSegment
static CoordinateXY midPoint (const CoordinateXY &pt0, const CoordinateXY &pt1)
 
- Public Attributes inherited from geos::geom::LineSegment
Coordinate p0
 
Coordinate p1
 Segment start.
 

Detailed Description

A geom::LineSegment which is tagged with its location in a geom::Geometry.

Used to index the segments in a geometry and recover the segment locations from the index.


The documentation for this class was generated from the following file: