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
 * This file is part of GEL, http://www.imm.dtu.dk/GEL
2
 * This file is part of GEL, http://www.imm.dtu.dk/GEL
3
 * Copyright (C) the authors and DTU Informatics
3
 * Copyright (C) the authors and DTU Informatics
4
 * For license and list of authors, see ../../doc/intro.pdf
4
 * For license and list of authors, see ../../doc/intro.pdf
5
 * ----------------------------------------------------------------------- */
5
 * ----------------------------------------------------------------------- */
6
 
6
 
7
/**
7
/**
8
 * @file flatten.h
8
 * @file flatten.h
9
 * @brief Flattening as used in parametrization.
9
 * @brief Flattening as used in parametrization.
10
 */
10
 */
11
 
11
 
12
#ifndef __HMESH_FLATTEN_H__
12
#ifndef __HMESH_FLATTEN_H__
13
#define __HMESH_FLATTEN_H__
13
#define __HMESH_FLATTEN_H__
14
 
14
 
15
namespace HMesh
15
namespace HMesh
16
{
16
{
17
    class Manifold;
17
    class Manifold;
18
 
18
 
19
    enum WeightScheme {FLOATER_W, HARMONIC_W, LSCM_W, BARYCENTRIC_W};
19
    enum WeightScheme {FLOATER_W, HARMONIC_W, LSCM_W, BARYCENTRIC_W};
20
 
20
 
21
 
21
 
22
    /** \brief This function flattens a mesh with a simple boundary, based on a weight scheme.It is mostly for showing mesh parametrization methods. 
22
    /** \brief This function flattens a mesh with a simple boundary, based on a weight scheme.It is mostly for showing mesh parametrization methods. 
23
    The current mesh MUST have a SINGLE boundary loop.
23
    The current mesh MUST have a SINGLE boundary loop.
24
    This loop is mapped to the unit circle in a regular fashion (equal angle intervals).
24
    This loop is mapped to the unit circle in a regular fashion (equal angle intervals).
25
    All non boundary vertices are placed at the origin. Then the system is relaxed iteratively using the weight scheme given as argument. */
25
    All non boundary vertices are placed at the origin. Then the system is relaxed iteratively using the weight scheme given as argument. */
26
    void flatten(Manifold& m, WeightScheme ws);
26
    void flatten(Manifold& m, WeightScheme ws);
27
}
27
}
28
 
28
 
29
#endif
29
#endif
30
 
30
 
31

Generated by GNU Enscript 1.6.6.
31

Generated by GNU Enscript 1.6.6.
32
 
32
 
33
 
33
 
34
 
34