00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef GEOS_TRIANGULATE_INCREMENTALDELAUNAYTRIANGULATOR_H
00020 #define GEOS_TRIANGULATE_INCREMENTALDELAUNAYTRIANGULATOR_H
00021
00022 #include <list>
00023
00024 #include <geos/triangulate/quadedge/Vertex.h>
00025
00026
00027 namespace geos {
00028 namespace triangulate {
00029
00030 namespace quadedge {
00031 class QuadEdge;
00032 class QuadEdgeSubdivision;
00033 }
00034
00042 class GEOS_DLL IncrementalDelaunayTriangulator
00043 {
00044 private:
00045 quadedge::QuadEdgeSubdivision *subdiv;
00046 bool isUsingTolerance;
00047
00048 public:
00056 IncrementalDelaunayTriangulator(quadedge::QuadEdgeSubdivision *subdiv);
00057
00058 typedef std::list<quadedge::Vertex> VertexList;
00059
00071 void insertSites(const VertexList& vertices);
00072
00081 quadedge::QuadEdge& insertSite(const quadedge::Vertex &v);
00082 };
00083
00084 }
00085 }
00086
00087 #endif //GEOS_TRIANGULATE_QUADEDGE_INCREMENTALDELAUNAYTRIANGULATOR_H
00088