Easy3D 2.5.3
surface_mesh_parameterization.h
1/********************************************************************
2 * Copyright (C) 2020-2021 by Liangliang Nan <liangliang.nan@gmail.com>
3 * Copyright (C) 2011-2020 the Polygon Mesh Processing Library developers.
4 *
5 * The code in this file is adapted from the PMP (Polygon Mesh Processing
6 * Library) with modifications.
7 * https://github.com/pmp-library/pmp-library
8 * The original code was distributed under a MIT-style license, see
9 * https://github.com/pmp-library/pmp-library/blob/master/LICENSE.txt
10 ********************************************************************/
11
12#ifndef EASY3D_ALGO_SURFACE_MESH_PARAMETERIZATION_H
13#define EASY3D_ALGO_SURFACE_MESH_PARAMETERIZATION_H
14
15
16#include <easy3d/core/surface_mesh.h>
17
18
19namespace easy3d {
20
29 public:
32
34 void harmonic(bool use_uniform_weights = false);
35
37 void lscm();
38
39 private:
41 bool setup_boundary_constraints();
42
44 bool setup_lscm_boundary();
45
46 private:
48 SurfaceMesh *mesh_;
49 };
50
51} // namespace easy3d
52
53
54#endif // EASY3D_ALGO_SURFACE_MESH_PARAMETERIZATION_H
A halfedge data structure for polygonal meshes of 2-manifold.
Definition: surface_mesh.h:52
A class for surface parameterization.
Definition: surface_mesh_parameterization.h:28
void harmonic(bool use_uniform_weights=false)
Compute discrete harmonic parameterization.
Definition: surface_mesh_parameterization.cpp:93
SurfaceMeshParameterization(SurfaceMesh *mesh)
Construct with mesh to be parameterized.
Definition: surface_mesh_parameterization.cpp:24
void lscm()
Compute parameterization based on least squares conformal mapping.
Definition: surface_mesh_parameterization.cpp:228
Definition: collider.cpp:182