- Main Page
- Classes
- Files

- File List

# src/source/QuadEdge.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 _QUAD_EDGE_H_
    00026 #define _QUAD_EDGE_H_
    00027
    00028 namespace EdgeAlgebra
    00029 {
    00030
    00031 class Site;
    00032
    00033 enum Orientation
    00034 {
    00035   InvSym,
    00036         Rot,
    00037         Sym,
    00038         InvRot
    00039 };
    00040
    00041 class QuadEdge
    00042 {
    00043 public:
    00047         QuadEdge(void);
    00048
    00050         ~QuadEdge(void);
    00051
    00054         Site* GetOrigin(void) const;
    00055
    00058         Site* GetDestination(void) const;
    00059
    00062         QuadEdge* GetOnext(void) const;
    00063
    00066         QuadEdge* GetRnext(void) const;
    00067
    00070         QuadEdge* GetLnext(void) const;
    00071
    00074         QuadEdge* GetOprev(void) const;
    00075
    00078         QuadEdge* GetRprev(void) const;
    00079
    00082         QuadEdge* GetRot(void) const;
    00083
    00086         QuadEdge* GetSym(void) const;
    00087
    00090         QuadEdge* GetInvRot(void) const;
    00091
    00094         void SetOrigin(Site* origin);
    00095
    00098         void SetDestination(Site* destination);
    00099
    00102         void SetOnext(QuadEdge* Onext);
    00103
    00108         void Splice(QuadEdge* b);
    00109
    00114         QuadEdge* Connect(QuadEdge* b);
    00115
    00119         void DeleteEdge(void);
    00120
    00123         QuadEdge* GetPtr(void);
    00124
    00125 private:
    00127         Site* m_org;
    00128
    00130         QuadEdge* m_Onext;
    00131
    00133         Orientation m_orientation;
    00134
    00136         QuadEdge** m_orientations;
    00137
    00139         bool m_deleteOrientations;
    00140
    00144         QuadEdge(QuadEdge** orientations, Orientation orientation);
    00145
    00147         QuadEdge(const QuadEdge&);
    00148
    00150         QuadEdge& operator=(const QuadEdge&);
    00151 };
    00152
    00153 }
    00154
    00155 #endif