21 #ifndef GEOS_LINEARREF_LINEARLOCATION_H 22 #define GEOS_LINEARREF_LINEARLOCATION_H 27 #include <geos/geom/Coordinate.h> 28 #include <geos/geom/Geometry.h> 29 #include <geos/geom/LineSegment.h> 46 unsigned int componentIndex;
47 unsigned int segmentIndex;
48 double segmentFraction;
88 LinearLocation(
unsigned int segmentIndex = 0,
double segmentFraction = 0.0);
90 LinearLocation(
unsigned int componentIndex,
unsigned int segmentIndex,
double segmentFraction);
201 int compareLocationValues(
unsigned int componentIndex1,
unsigned int segmentIndex1,
double segmentFraction1)
const;
217 unsigned int componentIndex0,
unsigned int segmentIndex0,
double segmentFraction0,
218 unsigned int componentIndex1,
unsigned int segmentIndex1,
double segmentFraction1);
239 friend std::ostream& operator<< (std::ostream& out,
const LinearLocation& obj );
double getSegmentLength(const geom::Geometry *linearGeom) const
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
void clamp(const geom::Geometry *linear)
unsigned int getComponentIndex() const
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:167
bool isOnSameSegment(const LinearLocation &loc) const
unsigned int getSegmentIndex() const
Represents a location along a LineString or MultiLineString.
Definition: LinearLocation.h:43
int compareLocationValues(unsigned int componentIndex1, unsigned int segmentIndex1, double segmentFraction1) const
static geom::Coordinate pointAlongSegmentByFraction(const geom::Coordinate &p0, const geom::Coordinate &p1, double frac)
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:25
int compareTo(const LinearLocation &other) const
static LinearLocation getEndLocation(const geom::Geometry *linear)
std::auto_ptr< geom::LineSegment > getSegment(const geom::Geometry *linearGeom) const
double getSegmentFraction() const
bool isEndpoint(const geom::Geometry &linearGeom) const
Tests whether this location is an endpoint of the linear component it refers to.
LinearLocation(unsigned int segmentIndex=0, double segmentFraction=0.0)
void setToEnd(const geom::Geometry *linear)
geom::Coordinate getCoordinate(const geom::Geometry *linearGeom) const
void snapToVertex(const geom::Geometry *linearGeom, double minDistance)
bool isValid(const geom::Geometry *linearGeom) const