GEOS: geos::geom::TrianglePredicate Class Reference

GEOS 3.5.0

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Static Public Member Functions | List of all members
geos::geom::TrianglePredicate Class Reference

`#include <TrianglePredicate.h>`

## Static Public Member Functions
static bool | isInCircleNonRobust (const Coordinate &a, const Coordinate &b, const Coordinate &c, const Coordinate &p)
static bool | isInCircleNormalized (const Coordinate &a, const Coordinate &b, const Coordinate &c, const Coordinate &p)
static bool | isInCircleRobust (const Coordinate &a, const Coordinate &b, const Coordinate &c, const Coordinate &p)

## Detailed Description

Algorithms for computing values and predicates associated with triangles. For some algorithms extended-precision implementations are provided, which are more robust (i.e. they produce correct answers in more cases). Also, some more robust formulations of some algorithms are provided, which utilize normalization to the origin.

Author
  JTS: Martin Davis
  Benjamin Campbell

## Member Function Documentation

static bool geos::geom::TrianglePredicate::isInCircleNonRobust | ( | const Coordinate & | a,
|  | const Coordinate & | b,
|  | const Coordinate & | c,
|  | const Coordinate & | p
| ) |  |
| static

Tests if a point is inside the circle defined by the triangle with vertices a, b, c (oriented counter-clockwise). This test uses simple double-precision arithmetic, and thus may not be robust.

Parameters

  a | a vertex of the triangle
  b | a vertex of the triangle
  c | a vertex of the triangle
  P | the point to test

Returns
  true if this point is inside the circle defined by the points a, b, c

static bool geos::geom::TrianglePredicate::isInCircleNormalized | ( | const Coordinate & | a,
|  | const Coordinate & | b,
|  | const Coordinate & | c,
|  | const Coordinate & | p
| ) |  |
| static

Tests if a point is inside the circle defined by the triangle with vertices a, b, c (oriented counter-clockwise). This test uses simple double-precision arithmetic, and thus is not 10% robust. However, by using normalization to the origin it provides improved robustness and increased performance.

Based on code by J.R.Shewchuk.

Parameters

  a | a vertex of the triangle
  b | a vertex of the triangle
  c | a vertex of the triangle
  P | the point to test

Returns
  true if this point is inside the circle defined by the points a, b, c

static bool geos::geom::TrianglePredicate::isInCircleRobust | ( | const Coordinate & | a,
|  | const Coordinate & | b,
|  | const Coordinate & | c,
|  | const Coordinate & | p
| ) |  |
| static

Tests if a point is inside the circle defined by the triangle with vertices a, b, c (oriented counter-clockwise). This method uses more robust computation.

Parameters

  a | a vertex of the triangle
  b | a vertex of the triangle
  c | a vertex of the triangle
  P | the point to test

Returns
  true if this point is inside the circle defined by the points a, b, c

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

- TrianglePredicate.h