Subversion Repositories gelsvn

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
667 khor 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
 
12
#ifndef __HMESH_TRIANGULATE__H
13
#define __HMESH_TRIANGULATE__H
14
 
15
#include "Manifold.h"
16
 
17
namespace HMesh
18
{
19
    /// Naive division of polygons into triangles.
20
    void triangulate_by_edge_face_split(Manifold& m);
21
 
22
    /// Try to respect curvature to create a better triangulation.
23
    void curvature_triangulate(Manifold& m);
24
 
25
    /// Naive triangulation by connecting to center point.
26
    void triangulate_by_vertex_face_split(Manifold& m);
27
 
28
    /// Triangulate by connecting the points forming the shortest edge.
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);
35
 
36
 
37
}
38
 
39
#endif