Blender V4.3
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
12#include "slim.h"
14
15namespace slim {
16
18MatrixTransferChart::MatrixTransferChart(MatrixTransferChart &&) = default;
22
24{
25 data.reset(nullptr);
26}
27
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);
39
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
std::unique_ptr< SLIMData > SLIMDataPtr
void construct_slim_data(SLIMData &slim_data, bool skip_initialization, int reflection_mode) const
void setup_slim_data(MatrixTransferChart &chart) const