Blender
V4.3
intern
slim
intern
slim_matrix_transfer.cpp
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
#include <Eigen/Dense>
10
11
#include "
geometry_data_retrieval.h
"
12
#include "
slim.h
"
13
#include "
slim_matrix_transfer.h
"
14
15
namespace
slim
{
16
17
MatrixTransferChart::MatrixTransferChart
() =
default
;
18
MatrixTransferChart::MatrixTransferChart
(MatrixTransferChart &&) =
default
;
19
MatrixTransferChart::~MatrixTransferChart
() =
default
;
20
MatrixTransfer::MatrixTransfer
() =
default
;
21
MatrixTransfer::~MatrixTransfer
() =
default
;
22
23
void
MatrixTransferChart::free_slim_data
()
24
{
25
data.reset(
nullptr
);
26
}
27
28
void
MatrixTransfer::setup_slim_data
(
MatrixTransferChart
&chart)
const
29
{
30
SLIMDataPtr
slim_data = std::make_unique<SLIMDataPtr::element_type>();
31
32
try
{
33
if
(!chart.
succeeded
) {
34
throw
SlimFailedException
();
35
}
36
37
GeometryData
geometry_data(*
this
, chart);
38
geometry_data.
construct_slim_data
(*slim_data,
skip_initialization
,
reflection_mode
);
39
40
chart.
pinned_vertices_num
= geometry_data.
number_of_pinned_vertices
;
41
}
42
catch
(
SlimFailedException
&) {
43
slim_data->valid =
false
;
44
chart.
succeeded
=
false
;
45
}
46
47
chart.
data
= std::move(slim_data);
48
}
49
50
}
// namespace slim
slim::SlimFailedException
Definition
slim.h:19
geometry_data_retrieval.h
slim
Definition
GEO_uv_parametrizer.hh:9
slim::SLIMDataPtr
std::unique_ptr< SLIMData > SLIMDataPtr
Definition
slim_matrix_transfer.h:18
slim.h
slim_matrix_transfer.h
slim::GeometryData
Definition
geometry_data_retrieval.h:23
slim::GeometryData::construct_slim_data
void construct_slim_data(SLIMData &slim_data, bool skip_initialization, int reflection_mode) const
Definition
geometry_data_retrieval.cpp:122
slim::GeometryData::number_of_pinned_vertices
int number_of_pinned_vertices
Definition
geometry_data_retrieval.h:30
slim::MatrixTransferChart
Definition
slim_matrix_transfer.h:24
slim::MatrixTransferChart::pinned_vertices_num
int pinned_vertices_num
Definition
slim_matrix_transfer.h:27
slim::MatrixTransferChart::free_slim_data
void free_slim_data()
Definition
slim_matrix_transfer.cpp:23
slim::MatrixTransferChart::MatrixTransferChart
MatrixTransferChart()
slim::MatrixTransferChart::data
SLIMDataPtr data
Definition
slim_matrix_transfer.h:54
slim::MatrixTransferChart::succeeded
bool succeeded
Definition
slim_matrix_transfer.h:32
slim::MatrixTransferChart::~MatrixTransferChart
~MatrixTransferChart()
slim::MatrixTransfer::~MatrixTransfer
~MatrixTransfer()
slim::MatrixTransfer::skip_initialization
bool skip_initialization
Definition
slim_matrix_transfer.h:88
slim::MatrixTransfer::reflection_mode
int reflection_mode
Definition
slim_matrix_transfer.h:86
slim::MatrixTransfer::MatrixTransfer
MatrixTransfer()
slim::MatrixTransfer::setup_slim_data
void setup_slim_data(MatrixTransferChart &chart) const
Definition
slim_matrix_transfer.cpp:28
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0