8#ifndef IGL_SCALAR_TO_CR_VECTOT_GRADIENT_H 
    9#define IGL_SCALAR_TO_CR_VECTOT_GRADIENT_H 
   14#include <Eigen/Sparse> 
   29  template <
typename DerivedV, 
typename DerivedF, 
typename DerivedE,
 
   30    typename DerivedOE, 
typename ScalarG>
 
   33    const Eigen::MatrixBase<DerivedV>& V,
 
   34    const Eigen::MatrixBase<DerivedF>& F,
 
   35    const Eigen::MatrixBase<DerivedE>& E,
 
   36    const Eigen::MatrixBase<DerivedOE>& oE,
 
   37    Eigen::SparseMatrix<ScalarG>& G);
 
   41  template <
typename DerivedV, 
typename DerivedF, 
typename DerivedE,
 
   42    typename DerivedOE, 
typename ScalarG>
 
   45    const Eigen::MatrixBase<DerivedV>& V,
 
   46    const Eigen::MatrixBase<DerivedF>& F,
 
   47    Eigen::PlainObjectBase<DerivedE>& E,
 
   48    Eigen::PlainObjectBase<DerivedOE>& oE,
 
   49    Eigen::SparseMatrix<ScalarG>& G);
 
   57  template <
typename DerivedF, 
typename DerivedL_sq, 
typename DeriveddA,
 
   58    typename DerivedE, 
typename DerivedOE, 
typename ScalarG>
 
   60    const Eigen::MatrixBase<DerivedF>& F,
 
   61    const Eigen::MatrixBase<DerivedL_sq>& l_sq,
 
   62    const Eigen::MatrixBase<DeriveddA>& dA,
 
   63    const Eigen::MatrixBase<DerivedE>& E,
 
   64    const Eigen::MatrixBase<DerivedOE>& oE,
 
   65    Eigen::SparseMatrix<ScalarG>& G);
 
   68  template <
typename DerivedF, 
typename DerivedL_sq, 
typename DerivedE,
 
   69    typename DerivedOE, 
typename ScalarG>
 
   71    const Eigen::MatrixBase<DerivedF>& F,
 
   72    const Eigen::MatrixBase<DerivedL_sq>& l_sq,
 
   73    const Eigen::MatrixBase<DerivedE>& E,
 
   74    const Eigen::MatrixBase<DerivedOE>& oE,
 
   75    Eigen::SparseMatrix<ScalarG>& G);
 
   79#ifndef IGL_STATIC_LIBRARY 
   80#  include "scalar_to_cr_vector_gradient.cpp" 
#define IGL_INLINE
Definition igl_inline.h:15
 
void scalar_to_cr_vector_gradient(const Eigen::MatrixBase< DerivedV > &V, const Eigen::MatrixBase< DerivedF > &F, const Eigen::MatrixBase< DerivedE > &E, const Eigen::MatrixBase< DerivedOE > &oE, Eigen::SparseMatrix< ScalarG > &G)
Computes the gradient matrix with hat functions on the right, and vector CR functions on the left.
 
void scalar_to_cr_vector_gradient_intrinsic(const Eigen::MatrixBase< DerivedF > &F, const Eigen::MatrixBase< DerivedL_sq > &l_sq, const Eigen::MatrixBase< DeriveddA > &dA, const Eigen::MatrixBase< DerivedE > &E, const Eigen::MatrixBase< DerivedOE > &oE, Eigen::SparseMatrix< ScalarG > &G)
This is an overloaded member function, provided for convenience. It differs from the above function o...