00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00025 #ifndef _QUAD_EDGE_WALKER_H_
00026 #define _QUAD_EDGE_WALKER_H_
00027
00028 #include <map>
00029
00030 namespace EdgeAlgebra
00031 {
00032
00033 class QuadEdge;
00034
00038 class QuadEdgeWalker
00039 {
00040 public:
00043 QuadEdgeWalker(QuadEdge* edge);
00044
00046 ~QuadEdgeWalker(void);
00047
00050 const std::map<QuadEdge*, char> GetWalkedEdges(void) const;
00051
00052 private:
00054 std::map<QuadEdge*, char> m_walkedEdges;
00055
00057 QuadEdgeWalker(const QuadEdgeWalker&);
00058
00060 QuadEdgeWalker& operator=(const QuadEdgeWalker&);
00061
00064 void Walk(QuadEdge* edge);
00065
00066
00067 };
00068
00069 }
00070
00071 #endif