9#ifndef IGL_MARCHING_TETS_H 
   10#define IGL_MARCHING_TETS_H 
   14#include <Eigen/Sparse> 
   30  template <
typename DerivedTV,
 
   38      const Eigen::MatrixBase<DerivedTV>& TV,
 
   39      const Eigen::MatrixBase<DerivedTT>& TT,
 
   40      const Eigen::MatrixBase<DerivedS>& S,
 
   41      const typename DerivedS::Scalar isovalue,
 
   42      Eigen::PlainObjectBase<DerivedSV>& SV,
 
   43      Eigen::PlainObjectBase<DerivedSF>& SF,
 
   44      Eigen::PlainObjectBase<DerivedJ>& J,
 
   45      Eigen::SparseMatrix<BCType>& BC);
 
   48  template <
typename DerivedTV,
 
   56      const Eigen::MatrixBase<DerivedTV>& TV,
 
   57      const Eigen::MatrixBase<DerivedTT>& TT,
 
   58      const Eigen::MatrixBase<DerivedS>& S,
 
   59      Eigen::PlainObjectBase<DerivedSV>& SV,
 
   60      Eigen::PlainObjectBase<DerivedSF>& SF,
 
   61      Eigen::PlainObjectBase<DerivedJ>& J,
 
   62      Eigen::SparseMatrix<BCType>& BC) {
 
 
   66  template <
typename DerivedTV,
 
   73      const Eigen::MatrixBase<DerivedTV>& TV,
 
   74      const Eigen::MatrixBase<DerivedTT>& TT,
 
   75      const Eigen::MatrixBase<DerivedS>& S,
 
   76      const typename DerivedS::Scalar isovalue,
 
   77      Eigen::PlainObjectBase<DerivedSV>& SV,
 
   78      Eigen::PlainObjectBase<DerivedSF>& SF,
 
   79      Eigen::PlainObjectBase<DerivedJ>& J) {
 
   80    Eigen::SparseMatrix<typename DerivedSV::Scalar> _BC;
 
 
   84  template <
typename DerivedTV,
 
   91      const Eigen::MatrixBase<DerivedTV>& TV,
 
   92      const Eigen::MatrixBase<DerivedTT>& TT,
 
   93      const Eigen::MatrixBase<DerivedS>& S,
 
   94      const typename DerivedS::Scalar isovalue,
 
   95      Eigen::PlainObjectBase<DerivedSV>& SV,
 
   96      Eigen::PlainObjectBase<DerivedSF>& SF,
 
   97      Eigen::SparseMatrix<BCType>& BC) {
 
 
  102  template <
typename DerivedTV,
 
  108      const Eigen::MatrixBase<DerivedTV>& TV,
 
  109      const Eigen::MatrixBase<DerivedTT>& TT,
 
  110      const Eigen::MatrixBase<DerivedS>& S,
 
  111      const typename DerivedS::Scalar isovalue,
 
  112      Eigen::PlainObjectBase<DerivedSV>& SV,
 
  113      Eigen::PlainObjectBase<DerivedSF>& SF) {
 
  115    Eigen::SparseMatrix<typename DerivedSV::Scalar> _BC;
 
 
  121#ifndef IGL_STATIC_LIBRARY 
  122#  include "marching_tets.cpp" 
#define IGL_INLINE
Definition igl_inline.h:15
 
void marching_tets(const Eigen::MatrixBase< DerivedTV > &TV, const Eigen::MatrixBase< DerivedTT > &TT, const Eigen::MatrixBase< DerivedS > &S, const typename DerivedS::Scalar isovalue, Eigen::PlainObjectBase< DerivedSV > &SV, Eigen::PlainObjectBase< DerivedSF > &SF, Eigen::PlainObjectBase< DerivedJ > &J, Eigen::SparseMatrix< BCType > &BC)
Performs the marching tetrahedra algorithm on a tet mesh defined by TV and TT with scalar values defi...