GEOS  3.14.0dev
TrianglePredicate.h
1 /**********************************************************************
2  *
3  * GEOS - Geometry Engine Open Source
4  * http://geos.osgeo.org
5  *
6  * Copyright (C) 2012 Excensus LLC.
7  *
8  * This is free software; you can redistribute and/or modify it under
9  * the terms of the GNU Lesser General Licence as published
10  * by the Free Software Foundation.
11  * See the COPYING file for more information.
12  *
13  **********************************************************************
14  *
15  * Last port: triangulate/quadedge/TrianglePredicate.java r524
16  *
17  **********************************************************************/
18 
19 #pragma once
20 
21 #include <geos/export.h>
22 #include <geos/geom/Location.h>
23 
24 namespace geos {
25 namespace geom {
26 class CoordinateXY;
27 }
28 }
29 
30 namespace geos {
31 namespace triangulate {
32 namespace quadedge {
33 
49 class GEOS_DLL TrianglePredicate {
50 public:
51  using CoordinateXY = geos::geom::CoordinateXY;
52 
66  const CoordinateXY& a, const CoordinateXY& b, const CoordinateXY& c,
67  const CoordinateXY& p);
68 
87  const CoordinateXY& a, const CoordinateXY& b, const CoordinateXY& c,
88  const CoordinateXY& p);
89 
90 private:
99  static double triArea(const CoordinateXY& a,
100  const CoordinateXY& b, const CoordinateXY& c);
101 
102 public:
115  const CoordinateXY& a, const CoordinateXY& b, const CoordinateXY& c,
116  const CoordinateXY& p);
117 } ;
118 
119 
120 } // namespace geos.triangulate.quadedge
121 } // namespace geos.triangulate
122 } // namespace geos
123 
124 
Algorithms for computing values and predicates associated with triangles.
Definition: TrianglePredicate.h:49
static geom::Location isInCircleRobust(const CoordinateXY &a, const CoordinateXY &b, const CoordinateXY &c, const CoordinateXY &p)
static geom::Location isInCircleNonRobust(const CoordinateXY &a, const CoordinateXY &b, const CoordinateXY &c, const CoordinateXY &p)
static geom::Location isInCircleNormalized(const CoordinateXY &a, const CoordinateXY &b, const CoordinateXY &c, const CoordinateXY &p)
Location
Constants representing the location of a point relative to a geometry.
Definition: Location.h:32
Basic namespace for all GEOS functionalities.
Definition: Angle.h:25