QGIS API Documentation  3.13.0-Master (7f54853aae)
pal::GeomFunction Class Reference

`#include <geomfunction.h>`

## Static Public Member Functions

static bool computeLineIntersection (double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4, double *x, double *y)
Compute the point where two lines intersect. More...

static bool containsCandidate (const GEOSPreparedGeometry *geom, double x, double y, double width, double height, double alpha)
Returns `true` if a GEOS prepared geometry totally contains a label candidate. More...

static int convexHullId (int *id, const std::vector< double > &x, const std::vector< double > &y, int n, int *&cHull)
Compute the convex hull in O(n·log(n)) More...

static double cross_product (double x1, double y1, double x2, double y2, double x3, double y3)

static double dist_euc2d (double x1, double y1, double x2, double y2)

static double dist_euc2d_sq (double x1, double y1, double x2, double y2)

static void findLineCircleIntersection (double cx, double cy, double radius, double x1, double y1, double x2, double y2, double &xRes, double &yRes)

static bool isSegIntersects (double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4)
Returns `true` if the two segments intersect. More...

static int reorderPolygon (int nbPoints, std::vector< double > &x, std::vector< double > &y)
Reorder points to have cross prod ((x,y)[i], (x,y)[i+1), point) > 0 when point is outside. More...

## Detailed Description

Note
not available in Python bindings

Definition at line 48 of file geomfunction.h.

## ◆ computeLineIntersection()

 bool GeomFunction::computeLineIntersection ( double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4, double * x, double * y )
static

Compute the point where two lines intersect.

Returns
`true` if the lines intersect, or `false` if the lines are parallel

Definition at line 136 of file geomfunction.cpp.

## ◆ containsCandidate()

 bool GeomFunction::containsCandidate ( const GEOSPreparedGeometry * geom, double x, double y, double width, double height, double alpha )
static

Returns `true` if a GEOS prepared geometry totally contains a label candidate.

Parameters
 geom GEOS prepared geometry x candidate x y candidate y width candidate width height candidate height alpha candidate angle
Returns
`true` if candidate is totally contained

Definition at line 321 of file geomfunction.cpp.

## ◆ convexHullId()

 int GeomFunction::convexHullId ( int * id, const std::vector< double > & x, const std::vector< double > & y, int n, int *& cHull )
static

Compute the convex hull in O(n·log(n))

Parameters
 id set of point (i.e. point no 0 is (x,y) = x[id],y[id]) x x coordinates y y coordinates n Size of subset (vector id) cHull returns the point id (id of id's vector...) whom are parts of the convex hull
Returns
convexHull's size

Definition at line 166 of file geomfunction.cpp.

## ◆ cross_product()

 static double pal::GeomFunction::cross_product ( double x1, double y1, double x2, double y2, double x3, double y3 )
inlinestatic

Definition at line 61 of file geomfunction.h.

## ◆ dist_euc2d()

 static double pal::GeomFunction::dist_euc2d ( double x1, double y1, double x2, double y2 )
inlinestatic

Definition at line 66 of file geomfunction.h.

## ◆ dist_euc2d_sq()

 static double pal::GeomFunction::dist_euc2d_sq ( double x1, double y1, double x2, double y2 )
inlinestatic

Definition at line 71 of file geomfunction.h.

## ◆ findLineCircleIntersection()

 void GeomFunction::findLineCircleIntersection ( double cx, double cy, double radius, double x1, double y1, double x2, double y2, double & xRes, double & yRes )
static

Definition at line 393 of file geomfunction.cpp.

## ◆ isSegIntersects()

 bool GeomFunction::isSegIntersects ( double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4 )
static

Returns `true` if the two segments intersect.

Definition at line 129 of file geomfunction.cpp.

## ◆ reorderPolygon()

 int GeomFunction::reorderPolygon ( int nbPoints, std::vector< double > & x, std::vector< double > & y )
static

Reorder points to have cross prod ((x,y)[i], (x,y)[i+1), point) > 0 when point is outside.

Definition at line 267 of file geomfunction.cpp.

The documentation for this class was generated from the following files:
• /build/qgis-3.13.0+git20200227+7f54853aae+15buster/src/core/pal/geomfunction.h
• /build/qgis-3.13.0+git20200227+7f54853aae+15buster/src/core/pal/geomfunction.cpp