| 
    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.