Subversion Repositories gelsvn

Rev

Rev 62 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 62 Rev 67
1
#ifndef __HALFEDGE_H
1
#ifndef __HALFEDGE_H
2
#define __HALFEDGE_H
2
#define __HALFEDGE_H
3
 
3
 
4
#include "templates.h"
4
#include "templates.h"
5
 
5
 
6
namespace HMesh
6
namespace HMesh
7
{
7
{
8
 
8
 
9
	typedef HalfEdge_template<Iters> HalfEdge;
9
	typedef HalfEdge_template<Iters> HalfEdge;
10
	typedef Iters::HalfEdgeList HalfEdgeList;
10
	typedef Iters::HalfEdgeList HalfEdgeList;
11
	typedef Iters::HalfEdgeIter HalfEdgeIter;
11
	typedef Iters::HalfEdgeIter HalfEdgeIter;
12
 
12
 
13
	bool is_boundary(HalfEdgeIter h);
13
	bool is_boundary(HalfEdgeIter h);
14
 
14
 
15
	/** Null Element for halfedge lists. This is used as the value of an iterator
15
	/** Null Element for halfedge lists. This is used as the value of an iterator
16
			that points to nothing. */
16
			that points to nothing. */
17
	extern HalfEdgeIter NULL_HALFEDGE_ITER;
17
	extern HalfEdgeIter NULL_HALFEDGE_ITER;
18
 
18
 
19
	/** Set the next and prev pointers of the first and second argument 
19
	/** Set the next and prev pointers of the first and second argument 
20
			respectively. */
20
			respectively. */
21
	void link(HalfEdgeIter, HalfEdgeIter);
21
	void link(HalfEdgeIter, HalfEdgeIter);
22
 
22
 
23
	/** Glue halfedges by letting the opp pointers point to each other. */
23
	/** Glue halfedges by letting the opp pointers point to each other. */
24
	void glue(HalfEdgeIter, HalfEdgeIter);
24
	void glue(HalfEdgeIter, HalfEdgeIter);
25
 
25
 
26
	/// Return the geometric length of a halfedge.
26
	/// Return the geometric length of a halfedge.
27
	float length(HalfEdgeIter);
27
	float length(HalfEdgeIter);
28
 
28
 
29
}
29
}
30
#endif
30
#endif
31
 
31