GEOS  3.9.1dev
TrianglePredicate.h
Go to the documentation of this file.
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 #ifndef GEOS_TRIANGULATE_QUADEDGE_TRIANGLEPREDICATE_H
20 #define GEOS_TRIANGULATE_QUADEDGE_TRIANGLEPREDICATE_H
21 
22 #include <geos/export.h>
23 
24 namespace geos {
25 namespace geom { // geos.geom
26 
27 class Coordinate;
28 
45 public:
58  static bool isInCircleNonRobust(
59  const Coordinate& a, const Coordinate& b, const Coordinate& c,
60  const Coordinate& p);
61 
79  static bool isInCircleNormalized(
80  const Coordinate& a, const Coordinate& b, const Coordinate& c,
81  const Coordinate& p);
82 
83 private:
92  static double triArea(const Coordinate& a,
93  const Coordinate& b, const Coordinate& c);
94 
95 public:
107  static bool isInCircleRobust(
108  const Coordinate& a, const Coordinate& b, const Coordinate& c,
109  const Coordinate& p);
110 } ;
111 
112 } // namespace geos.geom
113 } // namespace geos
114 
115 #endif //GEOS_TRIANGULATE_QUADEDGE_TRIANGLEPREDICATE_H
116 
#define GEOS_DLL
Definition: export.h:28
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
Algorithms for computing values and predicates associated with triangles.
Basic namespace for all GEOS functionalities.