514 |
s042372 |
1 |
/* ----------------------------------------------------------------------- *
|
|
|
2 |
* This file is part of GEL, www.imm.dtu.dk/GEL
|
|
|
3 |
* Copyright (C) the authors (see AUTHORS.txt) and DTU Informatics
|
|
|
4 |
*
|
|
|
5 |
* Principal authors:
|
|
|
6 |
* Christian Thode Larsen (thode2d@gmail.com)
|
|
|
7 |
* J. Andreas Baerentzen (jab@imm.dtu.dk)
|
|
|
8 |
*
|
|
|
9 |
* See LICENSE.txt for licensing information
|
|
|
10 |
* ----------------------------------------------------------------------- */
|
|
|
11 |
|
|
|
12 |
#ifndef __HMESH_FLATTEN_H__
|
|
|
13 |
#define __HMESH_FLATTEN_H__
|
|
|
14 |
|
|
|
15 |
namespace HMesh
|
|
|
16 |
{
|
|
|
17 |
class Manifold;
|
|
|
18 |
|
|
|
19 |
enum WeightScheme {FLOATER_W, HARMONIC_W, BARYCENTRIC_W};
|
|
|
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
|