Blame | Last modification | View Log | RSS feed
#include "HalfEdge.h"
#include "Manifold.h"
using namespace CGLA;
namespace HMesh
{
template<class R>
HalfEdge_template<R>::HalfEdge_template():
vert(NULL_VERTEX_ITER),
next(NULL_HALFEDGE_ITER),
prev(NULL_HALFEDGE_ITER),
face(NULL_FACE_ITER),
opp(NULL_HALFEDGE_ITER),
touched(0)
{}
template<class R>
bool HalfEdge_template<R>::is_boundary()
{
return face == NULL_FACE_ITER || opp->face == NULL_FACE_ITER;
}
void link(HalfEdgeIter h0, HalfEdgeIter h1)
{
h0->next = h1;
h1->prev = h0;
}
void glue(HalfEdgeIter h0, HalfEdgeIter h1)
{
h0->opp = h1;
h1->opp = h0;
}
float length(HalfEdgeIter h)
{
return (h->vert->get_pos()-h->opp->vert->get_pos()).length();
}
HalfEdgeIter NULL_HALFEDGE_ITER(0);
template class HalfEdge_template<Iters>;
}