GEOS  3.13.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 
23 namespace geos {
24 namespace geom {
25 class Coordinate;
26 }
27 }
28 
30 
31 namespace geos {
32 namespace triangulate {
33 namespace quadedge {
34 
50 class GEOS_DLL TrianglePredicate {
51 public:
64  static bool isInCircleNonRobust(
65  const Coordinate& a, const Coordinate& b, const Coordinate& c,
66  const Coordinate& p);
67 
85  static bool isInCircleNormalized(
86  const Coordinate& a, const Coordinate& b, const Coordinate& c,
87  const Coordinate& p);
88 
89 private:
98  static double triArea(const Coordinate& a,
99  const Coordinate& b, const Coordinate& c);
100 
101 public:
113  static bool isInCircleRobust(
114  const Coordinate& a, const Coordinate& b, const Coordinate& c,
115  const Coordinate& p);
116 } ;
117 
118 
119 } // namespace geos.triangulate.quadedge
120 } // namespace geos.triangulate
121 } // namespace geos
122 
123 
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:216
Algorithms for computing values and predicates associated with triangles.
Definition: TrianglePredicate.h:50
static bool isInCircleNonRobust(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)
static bool isInCircleNormalized(const Coordinate &a, const Coordinate &b, const Coordinate &c, const Coordinate &p)
Basic namespace for all GEOS functionalities.
Definition: Angle.h:25