Volume Cartographer 2.27.0
Public Types | Static Public Attributes | Private Attributes | List of all members
volcart::texturing::AngleBasedFlattening Class Reference

Parameterize a mesh using ABF++. More...

#include <vc/texturing/AngleBasedFlattening.hpp>

Inheritance diagram for volcart::texturing::AngleBasedFlattening:
[legend]
Collaboration diagram for volcart::texturing::AngleBasedFlattening:
[legend]

Public Types

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

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

Detailed Description

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.

Member Typedef Documentation

◆ Pointer

Pointer

Definition at line 36 of file AngleBasedFlattening.hpp.

Constructor & Destructor Documentation

◆ ~AngleBasedFlattening()

volcart::texturing::AngleBasedFlattening::~AngleBasedFlattening ( )
overridedefault

Default destructor

Member Function Documentation

◆ abfMaxIterations()

auto volcart::texturing::AngleBasedFlattening::abfMaxIterations ( ) const -> std::size_t

The max number of ABF minimization iterations.

◆ compute()

auto volcart::texturing::AngleBasedFlattening::compute ( ) -> ITKMesh::Pointer
overridevirtual

Compute the parameterization.

Implements volcart::texturing::FlatteningAlgorithm.

◆ New()

template<typename... Args>
static auto volcart::texturing::AngleBasedFlattening::New ( Args...  args) -> Pointer
inlinestatic

Make a new shared instance

Definition at line 47 of file AngleBasedFlattening.hpp.

◆ setUseABF()

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.

Member Data Documentation

◆ DEFAULT_ITERATIONS

const std::size_t volcart::texturing::AngleBasedFlattening::DEFAULT_ITERATIONS {10}
static

Default maximum number of ABF iterations

Definition at line 33 of file AngleBasedFlattening.hpp.

◆ maxABFIterations_

std::size_t volcart::texturing::AngleBasedFlattening::maxABFIterations_ {DEFAULT_ITERATIONS}
private

Maximum number of ABF minimization iterations

Definition at line 85 of file AngleBasedFlattening.hpp.

◆ useABF_

bool volcart::texturing::AngleBasedFlattening::useABF_ {true}
private

Whether to use ABF minimization

Definition at line 83 of file AngleBasedFlattening.hpp.


The documentation for this class was generated from the following file: