8#ifndef IGL_CR_VECTOR_CURVATURE_CORRECTION_H 
    9#define IGL_CR_VECTOR_CURVATURE_CORRECTION_H 
   14#include <Eigen/Sparse> 
   33  template <
typename DerivedV, 
typename DerivedF, 
typename DerivedE,
 
   34  typename DerivedOE, 
typename ScalarK>
 
   37    const Eigen::MatrixBase<DerivedV>& V,
 
   38    const Eigen::MatrixBase<DerivedF>& F,
 
   39    const Eigen::MatrixBase<DerivedE>& E,
 
   40    const Eigen::MatrixBase<DerivedOE>& oE,
 
   41    Eigen::SparseMatrix<ScalarK>& K);
 
   45  template <
typename DerivedV, 
typename DerivedF, 
typename DerivedE,
 
   46  typename DerivedOE, 
typename ScalarK>
 
   49    const Eigen::MatrixBase<DerivedV>& V,
 
   50    const Eigen::MatrixBase<DerivedF>& F,
 
   51    Eigen::PlainObjectBase<DerivedE>& E,
 
   52    Eigen::PlainObjectBase<DerivedOE>& oE,
 
   53    Eigen::SparseMatrix<ScalarK>& K);
 
   62  template <
typename DerivedF, 
typename DerivedL_sq, 
typename Derivedtheta,
 
   63  typename Derivedkappa, 
typename DerivedE, 
typename DerivedOE,
 
   67    const Eigen::MatrixBase<DerivedF>& F,
 
   68    const Eigen::MatrixBase<DerivedL_sq>& l_sq,
 
   69    const Eigen::MatrixBase<Derivedtheta>& theta,
 
   70    const Eigen::MatrixBase<Derivedkappa>& kappa,
 
   71    const Eigen::MatrixBase<DerivedE>& E,
 
   72    const Eigen::MatrixBase<DerivedOE>& oE,
 
   73    Eigen::SparseMatrix<ScalarK>& K);
 
   76  template <
typename DerivedF, 
typename DerivedL_sq, 
typename DerivedE,
 
   77  typename DerivedOE, 
typename ScalarK>
 
   80    const Eigen::MatrixBase<DerivedF>& F,
 
   81    const Eigen::MatrixBase<DerivedL_sq>& l_sq,
 
   82    const Eigen::MatrixBase<DerivedE>& E,
 
   83    const Eigen::MatrixBase<DerivedOE>& oE,
 
   84    Eigen::SparseMatrix<ScalarK>& K);
 
   87  template <
typename DerivedF, 
typename DerivedL_sq, 
typename Derivedtheta,
 
   88  typename DerivedE, 
typename DerivedOE,
 
   92    const Eigen::MatrixBase<DerivedF>& F,
 
   93    const Eigen::MatrixBase<DerivedL_sq>& l_sq,
 
   94    const Eigen::MatrixBase<Derivedtheta>& theta,
 
   95    const Eigen::MatrixBase<DerivedE>& E,
 
   96    const Eigen::MatrixBase<DerivedOE>& oE,
 
   97    Eigen::SparseMatrix<ScalarK>& K);
 
  101#ifndef IGL_STATIC_LIBRARY 
  102#  include "cr_vector_curvature_correction.cpp" 
#define IGL_INLINE
Definition igl_inline.h:15
 
void cr_vector_curvature_correction_intrinsic(const Eigen::MatrixBase< DerivedF > &F, const Eigen::MatrixBase< DerivedL_sq > &l_sq, const Eigen::MatrixBase< Derivedtheta > &theta, const Eigen::MatrixBase< Derivedkappa > &kappa, const Eigen::MatrixBase< DerivedE > &E, const Eigen::MatrixBase< DerivedOE > &oE, Eigen::SparseMatrix< ScalarK > &K)
This is an overloaded member function, provided for convenience. It differs from the above function o...
 
void cr_vector_curvature_correction(const Eigen::MatrixBase< DerivedV > &V, const Eigen::MatrixBase< DerivedF > &F, const Eigen::MatrixBase< DerivedE > &E, const Eigen::MatrixBase< DerivedOE > &oE, Eigen::SparseMatrix< ScalarK > &K)
Computes the vector Crouzeix-Raviart curvature correction term of Oded Stein, Alec Jacobson,...