GEOS
3.8.0dev

#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) 
Algorithms for computing values and predicates associated with triangles. For some algorithms extendedprecision 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.

static 
Tests if a point is inside the circle defined by the triangle with vertices a, b, c (oriented counterclockwise). This test uses simple doubleprecision arithmetic, and thus may not be robust.
a  a vertex of the triangle 
b  a vertex of the triangle 
c  a vertex of the triangle 
P  the point to test 

static 
Tests if a point is inside the circle defined by the triangle with vertices a, b, c (oriented counterclockwise). This test uses simple doubleprecision 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.
a  a vertex of the triangle 
b  a vertex of the triangle 
c  a vertex of the triangle 
P  the point to test 

static 
Tests if a point is inside the circle defined by the triangle with vertices a, b, c (oriented counterclockwise). This method uses more robust computation.
a  a vertex of the triangle 
b  a vertex of the triangle 
c  a vertex of the triangle 
P  the point to test 