|
Blender V4.3
|
#include <slim_matrix_transfer.h>
Public Member Functions | |
| MatrixTransferChart () | |
| MatrixTransferChart (MatrixTransferChart &&) | |
| MatrixTransferChart (const MatrixTransferChart &)=delete | |
| MatrixTransferChart & | operator= (const MatrixTransferChart &)=delete |
| ~MatrixTransferChart () | |
| void | try_slim_solve (int iter_num) |
| void | parametrize_single_iteration () |
| void | transfer_uvs_blended (float blend) |
| void | free_slim_data () |
Public Attributes | |
| int | verts_num = 0 |
| int | faces_num = 0 |
| int | pinned_vertices_num = 0 |
| int | boundary_vertices_num = 0 |
| int | edges_num = 0 |
| bool | succeeded = false |
| std::vector< double > | v_matrices |
| std::vector< double > | uv_matrices |
| std::vector< double > | pp_matrices |
| std::vector< double > | el_vectors |
| std::vector< float > | w_vectors |
| std::vector< int > | f_matrices |
| std::vector< int > | p_matrices |
| std::vector< int > | e_matrices |
| std::vector< int > | b_vectors |
| SLIMDataPtr | data |
MatrixTransferChart holds all information and data matrices to be transferred from Blender to SLIM.
Definition at line 24 of file slim_matrix_transfer.h.
|
default |
|
default |
|
delete |
|
default |
| void slim::MatrixTransferChart::free_slim_data | ( | ) |
Definition at line 23 of file slim_matrix_transfer.cpp.
Referenced by blender::geometry::uv_parametrizer_slim_live_end().
|
delete |
| void slim::MatrixTransferChart::parametrize_single_iteration | ( | ) |
Executes a single iteration of SLIM, must follow a proper setup & initialization.
Definition at line 129 of file slim_parametrizer.cpp.
References try_slim_solve().
| void slim::MatrixTransferChart::transfer_uvs_blended | ( | float | blend | ) |
Called from the native part during each iteration of interactive parametrization. The blend parameter decides the linear blending between the original UV map and the one obtained from the accumulated SLIM iterations so far.
Definition at line 104 of file slim_parametrizer.cpp.
References blend, slim::correct_map_surface_area_if_necessary(), slim::get_interactive_result_blended_with_original(), succeeded, and slim::transfer_uvs_back_to_native_part().
| void slim::MatrixTransferChart::try_slim_solve | ( | int | iter_num | ) |
Definition at line 115 of file slim_parametrizer.cpp.
References slim::slim_solve(), and succeeded.
Referenced by slim::MatrixTransfer::parametrize_live(), and parametrize_single_iteration().
| std::vector<int> slim::MatrixTransferChart::b_vectors |
Vertex indices of boundary vertices.
Definition at line 52 of file slim_matrix_transfer.h.
| int slim::MatrixTransferChart::boundary_vertices_num = 0 |
Definition at line 28 of file slim_matrix_transfer.h.
| SLIMDataPtr slim::MatrixTransferChart::data |
Definition at line 54 of file slim_matrix_transfer.h.
Referenced by slim::MatrixTransfer::parametrize_live(), slim::MatrixTransfer::setup_slim_data(), and blender::geometry::uv_parametrizer_slim_live_solve_iteration().
| std::vector<int> slim::MatrixTransferChart::e_matrices |
Vertex index tuples making up edges (matrix [edges_num x 2] in a linearized form).
Definition at line 50 of file slim_matrix_transfer.h.
| int slim::MatrixTransferChart::edges_num = 0 |
Definition at line 29 of file slim_matrix_transfer.h.
| std::vector<double> slim::MatrixTransferChart::el_vectors |
Edge lengths.
Definition at line 41 of file slim_matrix_transfer.h.
| std::vector<int> slim::MatrixTransferChart::f_matrices |
Vertex index triplets making up faces (matrix [faces_num x 3] in a linearized form).
Definition at line 46 of file slim_matrix_transfer.h.
| int slim::MatrixTransferChart::faces_num = 0 |
Definition at line 26 of file slim_matrix_transfer.h.
| std::vector<int> slim::MatrixTransferChart::p_matrices |
Indices of pinned vertices.
Definition at line 48 of file slim_matrix_transfer.h.
| int slim::MatrixTransferChart::pinned_vertices_num = 0 |
Definition at line 27 of file slim_matrix_transfer.h.
Referenced by slim::MatrixTransfer::setup_slim_data().
| std::vector<double> slim::MatrixTransferChart::pp_matrices |
Positions of pinned vertices (matrix [pinned_vertices_num x 2] in a linearized form).
Definition at line 39 of file slim_matrix_transfer.h.
| bool slim::MatrixTransferChart::succeeded = false |
Field indicating whether a given SLIM operation succeeded or not.
Definition at line 32 of file slim_matrix_transfer.h.
Referenced by slim::MatrixTransfer::setup_slim_data(), slim::transfer_uvs_back_to_native_part(), transfer_uvs_blended(), try_slim_solve(), and blender::geometry::uv_parametrizer_slim_live_begin().
| std::vector<double> slim::MatrixTransferChart::uv_matrices |
UV positions of vertices (matrix [verts_num x 2] in a linearized form).
Definition at line 37 of file slim_matrix_transfer.h.
Referenced by slim::transfer_uvs_back_to_native_part().
| std::vector<double> slim::MatrixTransferChart::v_matrices |
Vertex positions (matrix [verts_num x 3] in a linearized form).
Definition at line 35 of file slim_matrix_transfer.h.
| int slim::MatrixTransferChart::verts_num = 0 |
Definition at line 25 of file slim_matrix_transfer.h.
Referenced by slim::transfer_uvs_back_to_native_part().
| std::vector<float> slim::MatrixTransferChart::w_vectors |
Weights per vertex.
Definition at line 43 of file slim_matrix_transfer.h.