Euclid
Geometry Processing and Shape Analysis in C++
Euclid::HKS< Mesh > Class Template Reference

Heat kernel signature. More...

#include <HKS.h>

Public Types

using FT = FT_t< Mesh >
 
using Vec = Eigen::Matrix< FT, Eigen::Dynamic, 1 >
 
using Mat = Eigen::Matrix< FT, Eigen::Dynamic, Eigen::Dynamic >
 

Public Member Functions

void build (const Mesh &mesh, unsigned k=300)
 Build up the necessary computational components. More...
 
void build (const Mesh &mesh, const Vec *eigenvalues, const Mat *eigenfunctions)
 Build up the necessary computational components. More...
 
template<typename Derived >
void compute (Eigen::ArrayBase< Derived > &hks, unsigned tscales=100, float tmin=-1.0f, float tmax=-1.0f)
 Compute hks for all vertices. More...
 

Detailed Description

template<typename Mesh>
class Euclid::HKS< Mesh >

HKS is a intrinsic, multiscale, local shape descriptor.

Reference

Sun J., Ovsjanikov M., Guibas L.. A concise and provably informative multi-scale signature based on heat diffusion. Proceedings of the Symposium on Geometry Processing, 2009.

Member Function Documentation

template<typename Mesh >
void Euclid::HKS< Mesh >::build ( const Mesh &  mesh,
unsigned  k = 300 
)

Compute eigen decomposition of the mesh Laplacian. Note that the result number of eigenstructures might be smaller than what is requested in the because of numerical issues and some may not converge.

Parameters
meshThe target mesh.
kNumber of eigenvalues/eigenvectors to use.
template<typename Mesh >
void Euclid::HKS< Mesh >::build ( const Mesh &  mesh,
const Vec *  eigenvalues,
const Mat *  eigenfunctions 
)

From precomputed eigen decomposition.

Parameters
meshThe target mesh.
eigenvaluesPrecomputed eigenvalues.
eigenfunctionsPrecomputed eigenfunctions.
template<typename Mesh >
template<typename Derived >
void Euclid::HKS< Mesh >::compute ( Eigen::ArrayBase< Derived > &  hks,
unsigned  tscales = 100,
float  tmin = -1.0f,
float  tmax = -1.0f 
)
Parameters
hksOutput heat kernel signatures
tscalesNumber of time scales to use.
tminThe minimum time value, default to -1 which will use the parameter setting described in the paper.
tmaxThe maximum time value, default to -1 which will use the parameter setting described in the paper.

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