Blender V4.3
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
9#pragma once
10
11#include <stdio.h>
12
13#include <Eigen/Dense>
14#include <Eigen/Sparse>
15
17
18namespace slim {
19
20void convex_border_parameterization(const Eigen::MatrixXi &f,
21 const Eigen::MatrixXd &v,
22 const Eigen::MatrixXi &e,
23 const Eigen::VectorXd &el,
24 const Eigen::VectorXi &bnd,
25 const Eigen::MatrixXd &bnd_uv,
26 Eigen::MatrixXd &UV,
27 Method method);
28
29void mvc(const Eigen::MatrixXi &f,
30 const Eigen::MatrixXd &v,
31 const Eigen::MatrixXi &e,
32 const Eigen::VectorXd &el,
33 const Eigen::VectorXi &bnd,
34 const Eigen::MatrixXd &bnd_uv,
35 Eigen::MatrixXd &UV);
36
37void harmonic(const Eigen::MatrixXi &f,
38 const Eigen::MatrixXd &v,
39 const Eigen::MatrixXi &e,
40 const Eigen::VectorXd &el,
41 const Eigen::VectorXi &bnd,
42 const Eigen::MatrixXd &bnd_uv,
43 Eigen::MatrixXd &UV);
44
45void tutte(const Eigen::MatrixXi &f,
46 const Eigen::MatrixXd &v,
47 const Eigen::MatrixXi &e,
48 const Eigen::VectorXd &el,
49 const Eigen::VectorXi &bnd,
50 const Eigen::MatrixXd &bnd_uv,
51 Eigen::MatrixXd &UV);
52
53void harmonic(const Eigen::MatrixXd &v,
54 const Eigen::MatrixXi &f,
55 const Eigen::MatrixXi &B,
56 const Eigen::MatrixXd &bnd_uv,
57 int power_of_harmonic_operaton,
58 Eigen::MatrixXd &UV);
59
60void map_vertices_to_convex_border(Eigen::MatrixXd &vertex_positions);
61
62int count_flips(const Eigen::MatrixXi &f, const Eigen::MatrixXd &uv);
63
64} // 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