https://github.com/HTDerekLiu/surface_multigrid_code
Revision fa347f1e4224b242b2167af2548bee35fe94c603 authored by HTDerekLiu on 01 March 2021, 20:34:44 UTC, committed by HTDerekLiu on 01 March 2021, 20:34:44 UTC
1 parent bdbd3fe
Raw File
Tip revision: fa347f1e4224b242b2167af2548bee35fe94c603 authored by HTDerekLiu on 01 March 2021, 20:34:44 UTC
add libigl
Tip revision: fa347f1
get_prolong.h
#ifndef GET_PROLONG_H
#define GET_PROLONG_H

#include <Eigen/Core>
#include <Eigen/Sparse>
#include <vector>
#include <iostream>

#include <SSP_decimate.h>
#include <single_collapse_data.h>
#include <query_fine_to_coarse.h>

// decimate the model with successive self-parameterization and compute the prolongation (aka interpolation) operator from V to Vf
//
// Inputs:
//   Vf    #Vf-by-3 input vertex positions 
//   Ff    #Ff-by-3 input triangle indices
//   tarF  desired number of output faces
//   dec_type decimation type (0:qslim, 1:midpoint, 2:vertex removal)
//
// Outputs:
//   V     #V by 3 output vertex posistions
//   F     #F by 3 ooutput face indices 
//   P     #Vf by #V linear interpolation operator 

void get_prolong(
	const Eigen::MatrixXd & Vf,
	const Eigen::MatrixXi & Ff,
  const int & tarF,
  const int & dec_type,
  Eigen::MatrixXd & V,
  Eigen::MatrixXi & F,
  Eigen::SparseMatrix<double> & P);
#endif
back to top