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...