514 |
s042372 |
1 |
/* ----------------------------------------------------------------------- *
|
572 |
jab |
2 |
* This file is part of GEL, http://www.imm.dtu.dk/GEL
|
|
|
3 |
* Copyright (C) the authors and DTU Informatics
|
|
|
4 |
* For license and list of authors, see ../../doc/intro.pdf
|
|
|
5 |
* ----------------------------------------------------------------------- */
|
514 |
s042372 |
6 |
|
578 |
jab |
7 |
/**
|
|
|
8 |
* @file flatten.h
|
|
|
9 |
* @brief Flattening as used in parametrization.
|
|
|
10 |
*/
|
|
|
11 |
|
514 |
s042372 |
12 |
#ifndef __HMESH_FLATTEN_H__
|
|
|
13 |
#define __HMESH_FLATTEN_H__
|
|
|
14 |
|
|
|
15 |
namespace HMesh
|
|
|
16 |
{
|
|
|
17 |
class Manifold;
|
|
|
18 |
|
543 |
jab |
19 |
enum WeightScheme {FLOATER_W, HARMONIC_W, LSCM_W, BARYCENTRIC_W};
|
514 |
s042372 |
20 |
|
518 |
s042372 |
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.
|
|
|
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).
|
514 |
s042372 |
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);
|
|
|
27 |
}
|
|
|
28 |
|
|
|
29 |
#endif
|