Subversion Repositories gelsvn

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
39 bj 1
#ifndef __FACE_H__
2
#define __FACE_H__
3
 
4
#include "templates.h"
5
 
6
namespace HMesh
7
{
8
	typedef Face_template<Iters> Face;
9
	typedef Iters::FaceList FaceList;
10
	typedef Iters::FaceIter FaceIter;
11
	typedef Iters::HalfEdgeIter HalfEdgeIter;
12
 
13
	/** Null Element for face lists. This is used as the value of an iterator
14
			that points to nothing. */
15
	extern FaceIter NULL_FACE_ITER;
16
 
17
	/// Compute the number of edges of a face
18
	int no_edges(FaceIter v);
19
 
20
	/** Compute the normal of a face. If the face is not a triangle,
21
			the normal is not defined, but computed using the first three
22
			vertices of the face. */
23
	CGLA::Vec3f get_normal(FaceIter f);
24
 
25
	/** Compute the area of a face. */
26
	float get_area(FaceIter f);
27
 
28
	/** Compute the centre of a face */
29
	CGLA::Vec3f get_centre(FaceIter f);
30
 
31
}
32
#endif