16 #ifndef QGSINTERNALGEOMETRYENGINE_H 17 #define QGSINTERNALGEOMETRYENGINE_H 78 QgsGeometry orthogonalize(
double tolerance = 1.0E-8,
int maxIterations = 1000,
double angleThreshold = 15.0 )
const;
169 , direction( direction )
199 class CORE_EXPORT QgsLineSegmentDistanceComparer
207 explicit QgsLineSegmentDistanceComparer(
const QgsPointXY &origin )
234 class CORE_EXPORT QgsClockwiseAngleComparer
237 explicit QgsClockwiseAngleComparer(
const QgsPointXY &origin )
251 #endif // QGSINTERNALGEOMETRYENGINE_H QgsGeometry taperedBuffer(double startWidth, double endWidth, int segments) const
Calculates a tapered width buffer for a (multi)curve geometry.
QgsInternalGeometryEngine(const QgsGeometry &geometry)
The caller is responsible that the geometry is available and unchanged for the whole lifetime of this...
QgsGeometry variableWidthBufferByM(int segments) const
Calculates a variable width buffer using the m-values from a (multi)line geometry.
QgsGeometry variableWidthBuffer(int segments, const std::function< std::unique_ptr< double[] >(const QgsLineString *line) > &widthFunction) const
Calculates a variable width buffer for a (multi)curve geometry.
QgsGeometry poleOfInaccessibility(double precision, double *distanceFromBoundary=nullptr) const
Calculates the approximate pole of inaccessibility for a surface, which is the most distant internal ...
A class to represent a 2D point.
A geometry is the spatial representation of a feature.
A 2D ray which extends from an origin point to an infinite distance in a given direction.
std::unique_ptr< GEOSGeometry, GeosDeleter > unique_ptr
Scoped GEOS pointer.
QgsGeometry densifyByDistance(double distance) const
Densifies the geometry by adding regularly placed extra nodes inside each segment so that the maximum...
Abstract base class for all geometries.
This class offers geometry processing methods.
Represents a single 2D line segment, consisting of a 2D start and end vertex only.
A class to represent a vector.
QgsRay2D(const QgsPointXY &origin, QgsVector direction)
Constructor for a ray starting at the given origin and extending an infinite distance in the specifie...
Line string geometry type, with support for z-dimension and m-values.
QgsGeometry orthogonalize(double tolerance=1.0E-8, int maxIterations=1000, double angleThreshold=15.0) const
Attempts to orthogonalize a line or polygon geometry by shifting vertices to make the geometries angl...
QgsGeometry densifyByCount(int extraNodesPerSegment) const
Densifies the geometry by adding the specified number of extra nodes within each segment of the geome...
QgsGeometry extrude(double x, double y) const
Will extrude a line or (segmentized) curve by a given offset and return a polygon representation of i...