Subversion Repositories gelsvn

Rev

Rev 103 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
39 bj 1
#include "HalfEdge.h"
2
#include "Manifold.h"
3
 
4
using namespace CGLA;
5
 
6
namespace HMesh
7
{
129 jab 8
		template<class R>
9
		HalfEdge_template<R>::HalfEdge_template():
10
				vert(NULL_VERTEX_ITER),
11
				next(NULL_HALFEDGE_ITER),
12
				prev(NULL_HALFEDGE_ITER),
13
				face(NULL_FACE_ITER),
14
				opp(NULL_HALFEDGE_ITER),
15
				touched(0)
16
		{}
39 bj 17
 
129 jab 18
		bool is_boundary(HalfEdgeIter h)
19
		{
20
				return h->face == NULL_FACE_ITER || h->opp->face == NULL_FACE_ITER;
21
		}
39 bj 22
 
62 jab 23
 
129 jab 24
		void link(HalfEdgeIter h0, HalfEdgeIter h1)
25
		{
26
				h0->next = h1;
27
				h1->prev = h0;
28
		}
39 bj 29
 
129 jab 30
		void glue(HalfEdgeIter h0, HalfEdgeIter h1)
31
		{
32
				h0->opp = h1;
33
				h1->opp = h0;
34
		}
39 bj 35
 
129 jab 36
		float length(HalfEdgeIter h)
37
		{
38
				return (h->vert->pos-h->opp->vert->pos).length();
39
		}
39 bj 40
 
129 jab 41
 
42
		template struct HalfEdge_template<Iters>;
39 bj 43
 
129 jab 44
 
39 bj 45
}