QGIS API Documentation
3.10.0-A Coruña (6c816b4204)
|
#include <pointset.h>
Public Member Functions | |
PointSet () | |
PointSet (int nbPoints, double *x, double *y) | |
virtual | ~PointSet () |
bool | boundingBoxIntersects (const PointSet *other) const |
Returns true if the bounding box of this pointset intersects the bounding box of another pointset. More... | |
std::unique_ptr< PointSet > | clone () const |
Returns a copy of the point set. More... | |
CHullBox * | compute_chull_bbox () |
bool | containsLabelCandidate (double x, double y, double width, double height, double alpha=0) const |
Tests whether a possible label candidate will fit completely within the shape. More... | |
bool | containsPoint (double x, double y) const |
Tests whether point set contains a specified point. More... | |
void | extendLineByDistance (double startDistance, double endDistance, double smoothDistance) |
Extends linestrings by the specified amount at the start and end of the line, by extending the existing lines following the same direction as the original line start or end. More... | |
PointSet * | extractShape (int nbPtSh, int imin, int imax, int fps, int fpe, double fptx, double fpty) |
const GEOSGeometry * | geos () const |
Returns the point set's GEOS geometry. More... | |
void | getBoundingBox (double min[2], double max[2]) const |
void | getCentroid (double &px, double &py, bool forceInside=false) const |
int | getGeosType () const |
PointSet * | getHoleOf () |
Returns nullptr if this isn't a hole. Otherwise returns pointer to parent pointset. More... | |
int | getNumPoints () const |
void | getPointByDistance (double *d, double *ad, double dl, double *px, double *py) |
Gets a point a set distance along a line geometry. More... | |
bool | isClosed () const |
Returns true if pointset is closed. More... | |
double | length () const |
Returns length of line geometry. More... | |
double | minDistanceToPoint (double px, double py, double *rx=nullptr, double *ry=nullptr) const |
Returns the squared minimum distance between the point set geometry and the point (px,py) Optionally, the nearest point is stored in (rx,ry). More... | |
Static Public Member Functions | |
static void | splitPolygons (QLinkedList< PointSet *> &shapes_toProcess, QLinkedList< PointSet *> &shapes_final, double xrm, double yrm) |
Split a concave shape into several convex shapes. More... | |
Public Attributes | |
int | nbPoints |
std::vector< double > | x |
std::vector< double > | y |
Protected Member Functions | |
PointSet (double x, double y) | |
PointSet (const PointSet &ps) | |
void | createGeosGeom () const |
void | deleteCoords () |
void | invalidateGeos () |
const GEOSPreparedGeometry * | preparedGeom () const |
Protected Attributes | |
int * | cHull = nullptr |
int | cHullSize = 0 |
PointSet * | holeOf = nullptr |
GEOSGeometry * | mGeos = nullptr |
bool | mOwnsGeom = false |
PointSet * | parent = nullptr |
int | type |
double | xmax = std::numeric_limits<double>::lowest() |
double | xmin = std::numeric_limits<double>::max() |
double | ymax = std::numeric_limits<double>::lowest() |
double | ymin = std::numeric_limits<double>::max() |
Friends | |
class | CostCalculator |
class | FeaturePart |
class | LabelPosition |
class | Layer |
class | PolygonCostCalculator |
Definition at line 70 of file pointset.h.
PointSet::PointSet | ( | ) |
Definition at line 41 of file pointset.cpp.
PointSet::PointSet | ( | int | nbPoints, |
double * | x, | ||
double * | y | ||
) |
Definition at line 48 of file pointset.cpp.
|
virtual |
Definition at line 182 of file pointset.cpp.
|
protected |
Definition at line 64 of file pointset.cpp.
|
protected |
Definition at line 79 of file pointset.cpp.
bool PointSet::boundingBoxIntersects | ( | const PointSet * | other | ) | const |
Returns true
if the bounding box of this pointset intersects the bounding box of another pointset.
Definition at line 861 of file pointset.cpp.
std::unique_ptr< PointSet > PointSet::clone | ( | ) | const |
Returns a copy of the point set.
Definition at line 232 of file pointset.cpp.
CHullBox * PointSet::compute_chull_bbox | ( | ) |
Definition at line 627 of file pointset.cpp.
bool PointSet::containsLabelCandidate | ( | double | x, |
double | y, | ||
double | width, | ||
double | height, | ||
double | alpha = 0 |
||
) | const |
Tests whether a possible label candidate will fit completely within the shape.
x | x-coordinate of label candidate |
y | y-coordinate of label candidate |
width | label width |
height | label height |
alpha | label angle |
true
if point set completely contains candidate label Definition at line 258 of file pointset.cpp.
bool PointSet::containsPoint | ( | double | x, |
double | y | ||
) | const |
Tests whether point set contains a specified point.
x | x-coordinate of point |
y | y-coordinate of point |
true
if point set contains a specified point Definition at line 237 of file pointset.cpp.
|
protected |
Definition at line 117 of file pointset.cpp.
|
protected |
Definition at line 198 of file pointset.cpp.
void PointSet::extendLineByDistance | ( | double | startDistance, |
double | endDistance, | ||
double | smoothDistance | ||
) |
Extends linestrings by the specified amount at the start and end of the line, by extending the existing lines following the same direction as the original line start or end.
The smoothDistance argument specifies the distance over which to smooth the direction of the line at its start and end points.
Definition at line 540 of file pointset.cpp.
PointSet * PointSet::extractShape | ( | int | nbPtSh, |
int | imin, | ||
int | imax, | ||
int | fps, | ||
int | fpe, | ||
double | fptx, | ||
double | fpty | ||
) |
Definition at line 204 of file pointset.cpp.
const GEOSGeometry * PointSet::geos | ( | ) | const |
Returns the point set's GEOS geometry.
Definition at line 911 of file pointset.cpp.
|
inline |
Definition at line 143 of file pointset.h.
void PointSet::getCentroid | ( | double & | px, |
double & | py, | ||
bool | forceInside = false |
||
) | const |
Definition at line 822 of file pointset.cpp.
|
inline |
Definition at line 141 of file pointset.h.
|
inline |
Returns nullptr
if this isn't a hole. Otherwise returns pointer to parent pointset.
Definition at line 158 of file pointset.h.
|
inline |
Definition at line 160 of file pointset.h.
void PointSet::getPointByDistance | ( | double * | d, |
double * | ad, | ||
double | dl, | ||
double * | px, | ||
double * | py | ||
) |
Gets a point a set distance along a line geometry.
d | array of distances between points |
ad | cumulative total distance from pt0 to each point (ad0 = pt0->pt0) |
dl | distance to traverse along line |
px | final x coord on line |
py | final y coord on line |
Definition at line 872 of file pointset.cpp.
|
protected |
Definition at line 171 of file pointset.cpp.
bool PointSet::isClosed | ( | ) | const |
Returns true
if pointset is closed.
Definition at line 942 of file pointset.cpp.
double PointSet::length | ( | ) | const |
Returns length of line geometry.
Definition at line 919 of file pointset.cpp.
double PointSet::minDistanceToPoint | ( | double | px, |
double | py, | ||
double * | rx = nullptr , |
||
double * | ry = nullptr |
||
) | const |
Returns the squared minimum distance between the point set geometry and the point (px,py) Optionally, the nearest point is stored in (rx,ry).
px | x coordinate of the point |
py | y coordinate of the points |
rx | pointer to x coorinates of the nearest point (can be NULL) |
ry | pointer to y coorinates of the nearest point (can be NULL) |
Definition at line 775 of file pointset.cpp.
|
protected |
Definition at line 159 of file pointset.cpp.
|
static |
Split a concave shape into several convex shapes.
Definition at line 263 of file pointset.cpp.
|
friend |
Definition at line 74 of file pointset.h.
|
friend |
Definition at line 72 of file pointset.h.
|
friend |
Definition at line 73 of file pointset.h.
|
friend |
Definition at line 76 of file pointset.h.
|
friend |
Definition at line 75 of file pointset.h.
|
protected |
Definition at line 195 of file pointset.h.
|
protected |
Definition at line 196 of file pointset.h.
|
protected |
Definition at line 200 of file pointset.h.
|
mutableprotected |
Definition at line 192 of file pointset.h.
|
mutableprotected |
Definition at line 193 of file pointset.h.
int pal::PointSet::nbPoints |
Definition at line 187 of file pointset.h.
|
protected |
Definition at line 201 of file pointset.h.
|
protected |
Definition at line 198 of file pointset.h.
std::vector< double > pal::PointSet::x |
Definition at line 188 of file pointset.h.
|
protected |
Definition at line 213 of file pointset.h.
|
protected |
Definition at line 212 of file pointset.h.
std::vector< double > pal::PointSet::y |
Definition at line 189 of file pointset.h.
|
protected |
Definition at line 215 of file pointset.h.
|
protected |
Definition at line 214 of file pointset.h.