Subversion Repositories gelsvn

Rev

Rev 119 | Rev 121 | 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
{
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
	{}
17
 
62 jab 18
	bool is_boundary(HalfEdgeIter h)
39 bj 19
	{
62 jab 20
		return h->face == NULL_FACE_ITER || h->opp->face == NULL_FACE_ITER;
39 bj 21
	}
22
 
62 jab 23
 
39 bj 24
	void link(HalfEdgeIter h0, HalfEdgeIter h1)
25
	{
26
		h0->next = h1;
27
		h1->prev = h0;
28
	}
29
 
30
	void glue(HalfEdgeIter h0, HalfEdgeIter h1)
31
	{
32
		h0->opp = h1;
33
		h1->opp = h0;
34
	}
35
 
36
	float length(HalfEdgeIter h)
37
	{
62 jab 38
		return (h->vert->pos-h->opp->vert->pos).length();
39 bj 39
	}
40
 
41
 
42
}