Blender V5.0
uv_initializer.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9#pragma once
10
11#include <Eigen/Dense>
12#include <Eigen/Sparse>
13
15
16namespace slim {
17
18void convex_border_parameterization(const Eigen::MatrixXi &f,
19 const Eigen::MatrixXd &v,
20 const Eigen::MatrixXi &e,
21 const Eigen::VectorXd &el,
22 const Eigen::VectorXi &bnd,
23 const Eigen::MatrixXd &bnd_uv,
24 Eigen::MatrixXd &UV,
25 Method method);
26
27void mvc(const Eigen::MatrixXi &f,
28 const Eigen::MatrixXd &v,
29 const Eigen::MatrixXi &e,
30 const Eigen::VectorXd &el,
31 const Eigen::VectorXi &bnd,
32 const Eigen::MatrixXd &bnd_uv,
33 Eigen::MatrixXd &UV);
34
35void harmonic(const Eigen::MatrixXi &f,
36 const Eigen::MatrixXd &v,
37 const Eigen::MatrixXi &e,
38 const Eigen::VectorXd &el,
39 const Eigen::VectorXi &bnd,
40 const Eigen::MatrixXd &bnd_uv,
41 Eigen::MatrixXd &UV);
42
43void tutte(const Eigen::MatrixXi &f,
44 const Eigen::MatrixXd &v,
45 const Eigen::MatrixXi &e,
46 const Eigen::VectorXd &el,
47 const Eigen::VectorXi &bnd,
48 const Eigen::MatrixXd &bnd_uv,
49 Eigen::MatrixXd &UV);
50
51void harmonic(const Eigen::MatrixXd &v,
52 const Eigen::MatrixXi &f,
53 const Eigen::MatrixXi &B,
54 const Eigen::MatrixXd &bnd_uv,
55 int power_of_harmonic_operaton,
56 Eigen::MatrixXd &UV);
57
58void map_vertices_to_convex_border(Eigen::MatrixXd &vertex_positions);
59
60int count_flips(const Eigen::MatrixXi &f, const Eigen::MatrixXd &uv);
61
62} // namespace slim
ATTR_WARN_UNUSED_RESULT const BMVert const BMEdge * e
ATTR_WARN_UNUSED_RESULT const BMVert * v
#define B
void map_vertices_to_convex_border(Eigen::MatrixXd &vertex_positions)
void tutte(const Eigen::MatrixXi &f, const Eigen::MatrixXd &v, const Eigen::MatrixXi &e, const Eigen::VectorXd &el, const Eigen::VectorXi &bnd, const Eigen::MatrixXd &bnd_uv, Eigen::MatrixXd &uv)
int count_flips(const Eigen::MatrixXi &f, const Eigen::MatrixXd &uv)
void mvc(const Eigen::MatrixXi &f, const Eigen::MatrixXd &v, const Eigen::MatrixXi &e, const Eigen::VectorXd &el, const Eigen::VectorXi &bnd, const Eigen::MatrixXd &bnd_uv, Eigen::MatrixXd &uv)
void convex_border_parameterization(const Eigen::MatrixXi &f, const Eigen::MatrixXd &v, const Eigen::MatrixXi &e, const Eigen::VectorXd &el, const Eigen::VectorXi &bnd, const Eigen::MatrixXd &bnd_uv, Eigen::MatrixXd &uv, Method method)
void harmonic(const Eigen::MatrixXi &f, const Eigen::MatrixXd &v, const Eigen::MatrixXi &e, const Eigen::VectorXd &el, const Eigen::VectorXi &bnd, const Eigen::MatrixXd &bnd_uv, Eigen::MatrixXd &uv)
Method
@ HARMONIC
@ TUTTE
@ MVC