Subversion Repositories gelsvn

Rev

Rev 595 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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

Generated by GNU Enscript 1.6.6.
41

Generated by GNU Enscript 1.6.6.
42
 
42
 
43
 
43
 
44
 
44