- Main Page
- Classes
- Files

- File List

# src/source/DelaunayTriangulation.h

Go to the documentation of this file.

    00001
    00002
    00003
    00004
    00005
    00006
    00007
    00008
    00009
    00010
    00011
    00012
    00013
    00014
    00015
    00016
    00017
    00018
    00019
    00020
    00025 #ifndef _DELAUNAY_TRIANGULATION_H_
    00026 #define _DELAUNAY_TRIANGULATION_H_
    00027
    00028 #include <vector>
    00029
    00030 namespace EdgeAlgebra
    00031 {
    00032
    00033 class Site;
    00034 class QuadEdge;
    00035
    00041 class DelaunayTriangulation
    00042 {
    00043 public:
    00046         DelaunayTriangulation(const std::vector<Site*>& sites);
    00047
    00049         ~DelaunayTriangulation(void);
    00050
    00053         QuadEdge* GetLeftHalve(void) const;
    00054
    00057         QuadEdge* GetRightHalve(void) const;
    00058
    00059 private:
    00061         QuadEdge* m_left;
    00062
    00064         QuadEdge* m_right;
    00065
    00067         DelaunayTriangulation(const DelaunayTriangulation&);
    00068
    00070         DelaunayTriangulation& operator=(const DelaunayTriangulation&);
    00071
    00079         void RunRecursive(const std::vector<Site*>& S, int sitesLeftIndex,
    00080                                                 int halveSitesCount, QuadEdge* &le, QuadEdge* &re);
    00081
    00087         bool Valid(QuadEdge* edge, QuadEdge* base1);
    00088 };
    00089
    00090 }
    00091
    00092 #endif