|
Volume Cartographer 2.28.0
|
Parameterize a mesh using ABF++. More...
#include <vc/texturing/AngleBasedFlattening.hpp>
Public Types | |
| enum class | Solver { SparseLU = 0 , ConjugateGradient = 1 } |
| using | Pointer = std::shared_ptr< AngleBasedFlattening > |
Public Types inherited from volcart::texturing::FlatteningAlgorithm | |
| using | Pointer = std::shared_ptr< FlatteningAlgorithm > |
Public Member Functions | |
| void | setUseABF (bool a) |
| Whether to perform Angle-based flattening computation. More... | |
| auto | useABF () const -> bool |
| Whether Angle-based flattening is performed. | |
| void | setABFMaxIterations (std::size_t i) |
| The max number of ABF minimization iterations. | |
| auto | abfMaxIterations () const -> std::size_t |
| The max number of ABF minimization iterations. More... | |
| void | setSolver (Solver solver) |
| The numerical solver method. More... | |
| auto | solver () const -> Solver |
| The numerical solver method. More... | |
| auto | compute () -> ITKMesh::Pointer override |
| Compute the parameterization. More... | |
Public Member Functions inherited from volcart::texturing::FlatteningAlgorithm | |
| virtual | ~FlatteningAlgorithm ()=default |
| void | setMesh (const ITKMesh::Pointer &m) |
| Set the input Mesh. More... | |
| ITKMesh::Pointer | getMesh () |
| Get the parameterized mesh. More... | |
| UVMap::Pointer | getUVMap () |
| Get the parameterized mesh as a UVMap | |
Static Public Attributes | |
| static constexpr std::size_t | DEFAULT_ITERATIONS {10} |
Private Attributes | |
| bool | useABF_ {true} |
| Solver | solver_ {Solver::SparseLU} |
| std::size_t | maxABFIterations_ {DEFAULT_ITERATIONS} |
| AngleBasedFlattening ()=default | |
| Default constructor. | |
| AngleBasedFlattening (const ITKMesh::Pointer &m) | |
| Construct and set the input mesh. | |
| ~AngleBasedFlattening () override=default | |
| template<typename... Args> | |
| static auto | New (Args... args) -> Pointer |
Additional Inherited Members | |
Protected Member Functions inherited from volcart::texturing::FlatteningAlgorithm | |
| FlatteningAlgorithm ()=default | |
| FlatteningAlgorithm (const ITKMesh::Pointer &m) | |
Protected Attributes inherited from volcart::texturing::FlatteningAlgorithm | |
| ITKMesh::Pointer | mesh_ |
| ITKMesh::Pointer | output_ |
Parameterize a mesh using ABF++.
First, uses ABF++ to calculate the optimal, interior angles of the flattened mesh. Then uses an Angle-based formulation of Least Squares Conformal Maps to convert this angle-optimized parameterization into a full mesh parameterization.
Implementation provided by the OpenABF library.
Definition at line 29 of file AngleBasedFlattening.hpp.
| using volcart::texturing::AngleBasedFlattening::Pointer = std::shared_ptr<AngleBasedFlattening> |
Pointer
Definition at line 39 of file AngleBasedFlattening.hpp.
|
strong |
Solver implementation
Definition at line 33 of file AngleBasedFlattening.hpp.
|
overridedefault |
Default destructor
| auto volcart::texturing::AngleBasedFlattening::abfMaxIterations | ( | ) | const -> std::size_t |
The max number of ABF minimization iterations.
|
overridevirtual |
Compute the parameterization.
Implements volcart::texturing::FlatteningAlgorithm.
|
inlinestatic |
Make a new shared instance
Definition at line 50 of file AngleBasedFlattening.hpp.
| void volcart::texturing::AngleBasedFlattening::setSolver | ( | Solver | solver | ) |
The numerical solver method.
| void volcart::texturing::AngleBasedFlattening::setUseABF | ( | bool | a | ) |
Whether to perform Angle-based flattening computation.
If false, the mesh is flattened using only the Angle-based LSCM algorithm.
| auto volcart::texturing::AngleBasedFlattening::solver | ( | ) | const -> Solver |
The numerical solver method.
|
staticconstexpr |
Default maximum number of ABF iterations
Definition at line 36 of file AngleBasedFlattening.hpp.
|
private |
Maximum number of ABF minimization iterations
Definition at line 107 of file AngleBasedFlattening.hpp.
|
private |
Solver method
Definition at line 105 of file AngleBasedFlattening.hpp.
|
private |
Whether to use ABF minimization
Definition at line 103 of file AngleBasedFlattening.hpp.