Subversion Repositories gelsvn

Rev

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

Rev Author Line No. Line
149 jab 1
#ifndef __HMESHUTIL_CAPS_AND_NEEDLES_H__
2
#define __HMESHUTIL_CAPS_AND_NEEDLES_H__
3
 
4
#include "HMesh/Manifold.h"
5
 
150 jab 6
namespace HMesh
149 jab 7
{
8
	/** A cap is a triangle with two very small angles and an angle close
9
			to pi, however a cap does not necessarily have a very short edge.
10
			Set the ang_thresh to a value close to pi. The closer to pi the 
11
			_less_ sensitive the cap removal.
12
 
13
			A cap is removed by flipping the (long) edge E opposite to the vertex 
14
			V with the angle close to pi. However, the function is more complex.
15
			Read code and document more carefully !!!
16
	 */
17
	void remove_caps_from_trimesh(HMesh::Manifold& mani, float ang_thresh);
18
 
19
	/** A needle is a triangle with a single very short edge. It is moved 
20
			by collapsing the short edge. The thresh parameter sets the length 
21
			threshold.
22
 
23
			The position of the vertex which survives the collapse is set to one
24
			of the two end points. Selection is based on what changes the geometry
25
			least. */
26
 	void remove_needles_from_trimesh(HMesh::Manifold& mani, 
27
	 																 float thresh);
28
}
29
 
30
#endif