GEOS  3.10.0
ConstrainedDelaunayTriangulator.h
1 /**********************************************************************
2  *
3  * GEOS - Geometry Engine Open Source
4  * http://geos.osgeo.org
5  *
6  * Copyright (C) 2020 Paul Ramsey <pramsey@cleverelephant.ca>
7  *
8  * This is free software; you can redistribute and/or modify it under
9  * the terms of the GNU Lesser General Public Licence as published
10  * by the Free Software Foundation.
11  * See the COPYING file for more information.
12  *
13  **********************************************************************/
14 
15 #pragma once
16 
17 
18 // Forward declarations
19 namespace geos {
20 namespace geom {
21 class Geometry;
22 class GeometryFactory;
23 class Polygon;
24 }
25 namespace triangulate {
26 namespace tri {
27 class TriList;
28 }
29 }
30 }
31 
36 
37 
38 namespace geos {
39 namespace triangulate {
40 namespace polygon {
41 
42 
53 
54 private:
55 
56  // Members
57  const Geometry* inputGeom;
58  const GeometryFactory* geomFact;
59 
67  void triangulatePolygon(const Polygon* poly, TriList& triList);
68 
69  std::unique_ptr<Geometry> compute();
70 
71 
72 public:
73 
80  : inputGeom(p_inputGeom)
81  , geomFact(p_inputGeom->getFactory())
82  {}
83 
90  static std::unique_ptr<Geometry> triangulate(const Geometry* geom);
91 
92 
93 
94 
95 };
96 
97 
98 
99 } // namespace geos.triangulate.polygon
100 } // namespace geos.triangulate
101 } // namespace geos
102 
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition: GeometryFactory.h:68
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:188
Represents a linear polygon, which may include holes.
Definition: Polygon.h:64
Definition: ConstrainedDelaunayTriangulator.h:52
static std::unique_ptr< Geometry > triangulate(const Geometry *geom)
ConstrainedDelaunayTriangulator(const Geometry *p_inputGeom)
Definition: ConstrainedDelaunayTriangulator.h:79
Definition: TriList.h:48
Basic namespace for all GEOS functionalities.
Definition: Angle.h:26