Subversion Repositories gelsvn

Rev

Rev 595 | Details | Compare with Previous | Last modification | View Log | RSS feed

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