Volume Cartographer 2.27.0
|
Parameterize a mesh using ABF++. More...
#include <vc/texturing/AngleBasedFlattening.hpp>
Public Types | |
using | Pointer = std::shared_ptr< AngleBasedFlattening > |
![]() | |
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... | |
auto | compute () -> ITKMesh::Pointer override |
Compute the parameterization. More... | |
![]() | |
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 const std::size_t | DEFAULT_ITERATIONS {10} |
Private Attributes | |
bool | useABF_ {true} |
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 | |
![]() | |
FlatteningAlgorithm ()=default | |
FlatteningAlgorithm (const ITKMesh::Pointer &m) | |
![]() | |
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 36 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 47 of file AngleBasedFlattening.hpp.
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.
|
static |
Default maximum number of ABF iterations
Definition at line 33 of file AngleBasedFlattening.hpp.
|
private |
Maximum number of ABF minimization iterations
Definition at line 85 of file AngleBasedFlattening.hpp.
|
private |
Whether to use ABF minimization
Definition at line 83 of file AngleBasedFlattening.hpp.