Subversion Repositories gelsvn

Rev

Rev 518 | Rev 537 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 518 Rev 520
Line 16... Line 16...
16
namespace HMesh
16
namespace HMesh
17
{
17
{
18
    class HalfEdgeWalker
18
    class HalfEdgeWalker
19
    {
19
    {
20
    public:
20
    public:
-
 
21
        /// construct from kernel and a halfedge
21
        HalfEdgeWalker(const ConnectivityKernel& _ck, HalfEdgeID _current);
22
        HalfEdgeWalker(const ConnectivityKernel& _ck, HalfEdgeID _current);
22
 
23
 
-
 
24
        /// returned walker has made one step to the next halfedge 
23
        HalfEdgeWalker next() const;
25
        HalfEdgeWalker next() const;
-
 
26
        /// returned walker has made one step to the previous halfedge 
24
        HalfEdgeWalker prev() const;
27
        HalfEdgeWalker prev() const;
-
 
28
        /// returned walker has made one step to the opposite halfedge 
25
        HalfEdgeWalker opp() const;
29
        HalfEdgeWalker opp() const;
26
 
30
 
-
 
31
        /// returned walker has circulated vertex clockwise one step
27
        HalfEdgeWalker circulate_vertex_cw() const;
32
        HalfEdgeWalker circulate_vertex_cw() const;
-
 
33
        /// returned walker has circulated vertex counterclockwise one step
28
        HalfEdgeWalker circulate_vertex_ccw() const;
34
        HalfEdgeWalker circulate_vertex_ccw() const;
29
 
35
 
-
 
36
        /// returned walker has circulated face clockwise one step
30
        HalfEdgeWalker circulate_face_cw() const;
37
        HalfEdgeWalker circulate_face_cw() const;
-
 
38
        /// returned walker has circulated face counterclockwise one step
31
        HalfEdgeWalker circulate_face_ccw() const;
39
        HalfEdgeWalker circulate_face_ccw() const;
32
 
40
 
-
 
41
        /// test if the walker has reached its initial halfedge
33
        bool full_circle() const;
42
        bool full_circle() const;
-
 
43
        
-
 
44
        /// number of steps taken
34
        int no_steps() const;
45
        int no_steps() const;
35
 
46
 
-
 
47
        /// get ID of vertex pointed to by current halfedge of walker
36
        VertexID vertex() const; 
48
        VertexID vertex() const; 
-
 
49
        /// get ID of face owning current halfedge of walker
37
        FaceID face() const; 
50
        FaceID face() const; 
-
 
51
        /// get ID of current halfedge of walker
38
        HalfEdgeID halfedge() const;
52
        HalfEdgeID halfedge() const;
39
 
53
 
-
 
54
        /// assignment operator
40
        HalfEdgeWalker operator =(const HalfEdgeWalker& w);
55
        HalfEdgeWalker operator =(const HalfEdgeWalker& w);
41
 
56
 
42
    private:
57
    private:
43
        const ConnectivityKernel* ck;
58
        const ConnectivityKernel* ck;
44
        HalfEdgeID last;
59
        HalfEdgeID last;