libigl v2.5.0
Loading...
Searching...
No Matches
igl::triangle::SCAFData Struct Reference

Use a similar interface to igl::slim Implement ready-to-use 2D version of the algorithm described in SCAF: Simplicial Complex Augmentation Framework for Bijective Maps Zhongshi Jiang, Scott Schaefer, Daniele Panozzo, ACM Trancaction on Graphics (Proc. More...

#include <scaf.h>

Public Attributes

double scaffold_factor = 10
 
igl::MappingEnergyType scaf_energy = igl::MappingEnergyType::SYMMETRIC_DIRICHLET
 
igl::MappingEnergyType slim_energy = igl::MappingEnergyType::SYMMETRIC_DIRICHLET
 
int dim = 2
 
double total_energy
 scaffold + isometric
 
double energy
 objective value
 
long mv_num = 0
 
long mf_num = 0
 
long sv_num = 0
 
long sf_num = 0
 
long v_num {}
 
long f_num = 0
 
Eigen::MatrixXd m_V
 input initial mesh V
 
Eigen::MatrixXi m_T
 input initial mesh F/T
 
Eigen::MatrixXd w_uv
 whole domain uv: mesh + free vertices
 
Eigen::MatrixXi s_T
 scaffold domain tets: scaffold tets
 
Eigen::MatrixXi w_T
 
Eigen::VectorXd m_M
 mesh area or volume
 
Eigen::VectorXd s_M
 scaffold area or volume
 
Eigen::VectorXd w_M
 area/volume weights for whole
 
double mesh_measure = 0
 area or volume
 
double proximal_p = 0
 
Eigen::VectorXi frame_ids
 
Eigen::VectorXi fixed_ids
 
std::map< int, Eigen::RowVectorXd > soft_cons
 
double soft_const_p = 1e4
 
Eigen::VectorXi internal_bnd
 
Eigen::MatrixXd rect_frame_V
 
std::vector< int > component_sizes
 
std::vector< int > bnd_sizes
 
bool has_pre_calc = false
 
Eigen::SparseMatrix< double > Dx_s
 
Eigen::SparseMatrix< double > Dy_s
 
Eigen::SparseMatrix< double > Dz_s
 
Eigen::SparseMatrix< double > Dx_m
 
Eigen::SparseMatrix< double > Dy_m
 
Eigen::SparseMatrix< double > Dz_m
 
Eigen::MatrixXd Ri_m
 
Eigen::MatrixXd Ji_m
 
Eigen::MatrixXd Ri_s
 
Eigen::MatrixXd Ji_s
 
Eigen::MatrixXd W_m
 
Eigen::MatrixXd W_s
 

Detailed Description

Use a similar interface to igl::slim Implement ready-to-use 2D version of the algorithm described in SCAF: Simplicial Complex Augmentation Framework for Bijective Maps Zhongshi Jiang, Scott Schaefer, Daniele Panozzo, ACM Trancaction on Graphics (Proc.

SIGGRAPH Asia 2017) For a complete implementation and customized UI, please refer to https://github.com/jiangzhongshi/scaffold-map

Member Data Documentation

◆ scaffold_factor

double igl::triangle::SCAFData::scaffold_factor = 10

◆ scaf_energy

◆ slim_energy

◆ dim

int igl::triangle::SCAFData::dim = 2

◆ total_energy

double igl::triangle::SCAFData::total_energy

scaffold + isometric

◆ energy

double igl::triangle::SCAFData::energy

objective value

◆ mv_num

long igl::triangle::SCAFData::mv_num = 0

◆ mf_num

long igl::triangle::SCAFData::mf_num = 0

◆ sv_num

long igl::triangle::SCAFData::sv_num = 0

◆ sf_num

long igl::triangle::SCAFData::sf_num = 0

◆ v_num

long igl::triangle::SCAFData::v_num {}

◆ f_num

long igl::triangle::SCAFData::f_num = 0

◆ m_V

Eigen::MatrixXd igl::triangle::SCAFData::m_V

input initial mesh V

◆ m_T

Eigen::MatrixXi igl::triangle::SCAFData::m_T

input initial mesh F/T

◆ w_uv

Eigen::MatrixXd igl::triangle::SCAFData::w_uv

whole domain uv: mesh + free vertices

◆ s_T

Eigen::MatrixXi igl::triangle::SCAFData::s_T

scaffold domain tets: scaffold tets

◆ w_T

Eigen::MatrixXi igl::triangle::SCAFData::w_T

◆ m_M

Eigen::VectorXd igl::triangle::SCAFData::m_M

mesh area or volume

◆ s_M

Eigen::VectorXd igl::triangle::SCAFData::s_M

scaffold area or volume

◆ w_M

Eigen::VectorXd igl::triangle::SCAFData::w_M

area/volume weights for whole

◆ mesh_measure

double igl::triangle::SCAFData::mesh_measure = 0

area or volume

◆ proximal_p

double igl::triangle::SCAFData::proximal_p = 0

◆ frame_ids

Eigen::VectorXi igl::triangle::SCAFData::frame_ids

◆ fixed_ids

Eigen::VectorXi igl::triangle::SCAFData::fixed_ids

◆ soft_cons

std::map<int, Eigen::RowVectorXd> igl::triangle::SCAFData::soft_cons

◆ soft_const_p

double igl::triangle::SCAFData::soft_const_p = 1e4

◆ internal_bnd

Eigen::VectorXi igl::triangle::SCAFData::internal_bnd

◆ rect_frame_V

Eigen::MatrixXd igl::triangle::SCAFData::rect_frame_V

◆ component_sizes

std::vector<int> igl::triangle::SCAFData::component_sizes

◆ bnd_sizes

std::vector<int> igl::triangle::SCAFData::bnd_sizes

◆ has_pre_calc

bool igl::triangle::SCAFData::has_pre_calc = false

◆ Dx_s

Eigen::SparseMatrix<double> igl::triangle::SCAFData::Dx_s

◆ Dy_s

Eigen::SparseMatrix<double> igl::triangle::SCAFData::Dy_s

◆ Dz_s

Eigen::SparseMatrix<double> igl::triangle::SCAFData::Dz_s

◆ Dx_m

Eigen::SparseMatrix<double> igl::triangle::SCAFData::Dx_m

◆ Dy_m

Eigen::SparseMatrix<double> igl::triangle::SCAFData::Dy_m

◆ Dz_m

Eigen::SparseMatrix<double> igl::triangle::SCAFData::Dz_m

◆ Ri_m

Eigen::MatrixXd igl::triangle::SCAFData::Ri_m

◆ Ji_m

Eigen::MatrixXd igl::triangle::SCAFData::Ji_m

◆ Ri_s

Eigen::MatrixXd igl::triangle::SCAFData::Ri_s

◆ Ji_s

Eigen::MatrixXd igl::triangle::SCAFData::Ji_s

◆ W_m

Eigen::MatrixXd igl::triangle::SCAFData::W_m

◆ W_s

Eigen::MatrixXd igl::triangle::SCAFData::W_s

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