Subversion Repositories gelsvn

Rev

Rev 448 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 448 Rev 595
Line -... Line 1...
-
 
1
/**
-
 
2
 * @file triangulate.h
-
 
3
 * @brief Triangulating the faces of a mesh.
-
 
4
 */
-
 
5
 
-
 
6
/* ----------------------------------------------------------------------- *
-
 
7
 * This file is part of GEL, http://www.imm.dtu.dk/GEL
-
 
8
 * Copyright (C) the authors and DTU Informatics
-
 
9
 * For license and list of authors, see ../../doc/intro.pdf
-
 
10
 * ----------------------------------------------------------------------- */
-
 
11
 
1
#ifndef __HMESH_TRIANGULATE__H
12
#ifndef __HMESH_TRIANGULATE__H
2
#define __HMESH_TRIANGULATE__H
13
#define __HMESH_TRIANGULATE__H
3
 
14
 
4
#include "HMesh/Manifold.h"
15
#include "Manifold.h"
5
 
16
 
6
namespace HMesh
17
namespace HMesh
7
{
18
{
8
	
-
 
9
  /// Naive division of polygons into triangles.
19
    /// Naive division of polygons into triangles.
10
  void triangulate(HMesh::Manifold&);
20
    void triangulate_by_edge_face_split(Manifold& m);
11
	
21
 
12
  /// Try to respect curvature to create a better triangulation.
22
    /// Try to respect curvature to create a better triangulation.
13
  void curvature_triangulate(HMesh::Manifold& m);
23
    void curvature_triangulate(Manifold& m);
-
 
24
 
-
 
25
    /// Naive triangulation by connecting to center point.
-
 
26
    void triangulate_by_vertex_face_split(Manifold& m);
14
 
27
 
15
  /// Naive triangulation by connecting to center point.
28
    /// Triangulate by connecting the points forming the shortest edge.
16
  void safe_triangulate(HMesh::Manifold& m);
29
    void shortest_edge_triangulate(Manifold& m);
-
 
30
 
-
 
31
    /** \brief Triangulate a polygonal face by repeatedly calling split_face.
-
 
32
    split_face_triangulate iteratively splits triangles off a polygon. 
-
 
33
    The first triangle split off is the one connecting f.last().vert() and f.last().next().next().vert(). */
-
 
34
    void triangulate_face_by_edge_split(Manifold& m, FaceID f);
17
 
35
 
18
	/// Triangulate by connecting the points forming the shortest edge.
-
 
19
	void shortest_edge_triangulate(Manifold& m);
-
 
20
 
36
 
21
	  
-
 
22
}
37
}
23
 
38
 
24
#endif
39
#endif
25
 
40