Volume Cartographer 2.28.0
Public Member Functions | Public Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
volcart::ABFNode Class Reference

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

#include <vc/graph/texturing.hpp>

Inheritance diagram for volcart::ABFNode:
[legend]
Collaboration diagram for volcart::ABFNode:
[legend]

Public Member Functions

 ABFNode ()
 

Public Attributes

smgl::InputPort< ITKMesh::Pointer > input
 Input mesh. More...
 
smgl::InputPort< bool > useABF
 Whether to perform Angle-based flattening computation. More...
 
smgl::InputPort< bool > useHLSCM
 Whether to use HierarchicalLSCM for parameterization. More...
 
smgl::InputPort< ABF::Solversolver
 The numerical solver method. More...
 
smgl::OutputPort< ITKMesh::Pointer > output
 Flattened mesh. More...
 
smgl::OutputPort< UVMap::PointeruvMap
 UVMap generated from flattened mesh. More...
 

Private Types

using ABF = texturing::AngleBasedFlattening
 

Private Member Functions

auto serialize_ (bool useCache, const filesystem::path &cacheDir) -> smgl::Metadata override
 
void deserialize_ (const smgl::Metadata &meta, const filesystem::path &cacheDir) override
 

Private Attributes

ABF abf_ {}
 
UVMap::Pointer uvMap_ {}
 
ITKMesh::Pointer mesh_ {nullptr}
 

Detailed Description

Parameterize a mesh using ABF++.

See also
texturing::AngleBasedFlattening

Definition at line 37 of file texturing.hpp.

Member Typedef Documentation

◆ ABF

Flattening class type

Definition at line 40 of file texturing.hpp.

Constructor & Destructor Documentation

◆ ABFNode()

volcart::ABFNode::ABFNode ( )

Constructor

Member Function Documentation

◆ deserialize_()

void volcart::ABFNode::deserialize_ ( const smgl::Metadata &  meta,
const filesystem::path &  cacheDir 
)
overrideprivate

smgl custom deserialization

◆ serialize_()

auto volcart::ABFNode::serialize_ ( bool  useCache,
const filesystem::path &  cacheDir 
) -> smgl::Metadata
overrideprivate

smgl custom serialization

Member Data Documentation

◆ abf_

ABF volcart::ABFNode::abf_ {}
private

Flattening class

Definition at line 42 of file texturing.hpp.

◆ input

smgl::InputPort<ITKMesh::Pointer> volcart::ABFNode::input

Input mesh.

Definition at line 50 of file texturing.hpp.

◆ mesh_

ITKMesh::Pointer volcart::ABFNode::mesh_ {nullptr}
private

Output flattened mesh

Definition at line 46 of file texturing.hpp.

◆ output

smgl::OutputPort<ITKMesh::Pointer> volcart::ABFNode::output

Flattened mesh.

Definition at line 58 of file texturing.hpp.

◆ solver

smgl::InputPort<ABF::Solver> volcart::ABFNode::solver

The numerical solver method.

Note
When compiled with OpenMP support, certain Eigen solvers (e.g. ConjugateGradient) are multithreaded. The number of threads used is controlled globally through the OpenMP and/or Eigen interfaces. See Eigen and multi-threading for more information.

Definition at line 56 of file texturing.hpp.

◆ useABF

smgl::InputPort<bool> volcart::ABFNode::useABF

Whether to perform Angle-based flattening computation.

If false, the mesh is flattened using only the LSCM algorithm (standard or hierarchical, depending on useHLSCM()).

Definition at line 52 of file texturing.hpp.

◆ useHLSCM

smgl::InputPort<bool> volcart::ABFNode::useHLSCM

Whether to use HierarchicalLSCM for parameterization.

When true, uses HierarchicalLSCM with ConjugateGradient for the LSCM step. The solver() setting is ignored for this path. When false (default), uses AngleBasedLSCM with the configured solver().

Definition at line 54 of file texturing.hpp.

◆ uvMap

smgl::OutputPort<UVMap::Pointer> volcart::ABFNode::uvMap

UVMap generated from flattened mesh.

Definition at line 60 of file texturing.hpp.

◆ uvMap_

UVMap::Pointer volcart::ABFNode::uvMap_ {}
private

Output UV Map

Definition at line 44 of file texturing.hpp.


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