10#ifndef IGL_COPYLEFT_CGAL_MESH_BOOLEAN_H 
   11#define IGL_COPYLEFT_CGAL_MESH_BOOLEAN_H 
   13#include "../../igl_inline.h" 
   14#include "../../MeshBooleanType.h" 
   49        const Eigen::MatrixBase<DerivedVA > & VA,
 
   50        const Eigen::MatrixBase<DerivedFA > & FA,
 
   51        const Eigen::MatrixBase<DerivedVB > & VB,
 
   52        const Eigen::MatrixBase<DerivedFB > & FB,
 
   54        Eigen::PlainObjectBase<DerivedVC > & VC,
 
   55        Eigen::PlainObjectBase<DerivedFC > & FC,
 
   56        Eigen::PlainObjectBase<DerivedJ > & J);
 
   68        const Eigen::MatrixBase<DerivedVA > & VA,
 
   69        const Eigen::MatrixBase<DerivedFA > & FA,
 
   70        const Eigen::MatrixBase<DerivedVB > & VB,
 
   71        const Eigen::MatrixBase<DerivedFB > & FB,
 
   72        const std::string & type_str,
 
   73        Eigen::PlainObjectBase<DerivedVC > & VC,
 
   74        Eigen::PlainObjectBase<DerivedFC > & FC,
 
   75        Eigen::PlainObjectBase<DerivedJ > & J);
 
   91          const Eigen::MatrixBase<DerivedVA> & VA,
 
   92          const Eigen::MatrixBase<DerivedFA> & FA,
 
   93          const Eigen::MatrixBase<DerivedVB> & VB,
 
   94          const Eigen::MatrixBase<DerivedFB> & FB,
 
   95          const std::function<
int(
const Eigen::Matrix<int,1,Eigen::Dynamic>) >& wind_num_op,
 
   96          const std::function<
int(
const int, 
const int)> & keep,
 
   97          Eigen::PlainObjectBase<DerivedVC > & VC,
 
   98          Eigen::PlainObjectBase<DerivedFC > & FC,
 
   99          Eigen::PlainObjectBase<DerivedJ > & J);
 
  122          const std::vector<DerivedV > & Vlist,
 
  123          const std::vector<DerivedF > & Flist,
 
  124          const std::function<
int(
const Eigen::Matrix<int,1,Eigen::Dynamic>) >& wind_num_op,
 
  125          const std::function<
int(
const int, 
const int)> & keep,
 
  126          Eigen::PlainObjectBase<DerivedVC > & VC,
 
  127          Eigen::PlainObjectBase<DerivedFC > & FC,
 
  128          Eigen::PlainObjectBase<DerivedJ > & J);
 
  137          const std::vector<DerivedV > & Vlist,
 
  138          const std::vector<DerivedF > & Flist,
 
  140          Eigen::PlainObjectBase<DerivedVC > & VC,
 
  141          Eigen::PlainObjectBase<DerivedFC > & FC,
 
  142          Eigen::PlainObjectBase<DerivedJ > & J);
 
  155        typename Derivedsizes,
 
  160          const Eigen::MatrixBase<DerivedVV > & VV,
 
  161          const Eigen::MatrixBase<DerivedFF > & FF,
 
  162          const Eigen::MatrixBase<Derivedsizes> & sizes,
 
  163          const std::function<
int(
const Eigen::Matrix<int,1,Eigen::Dynamic>) >& wind_num_op,
 
  164          const std::function<
int(
const int, 
const int)> & keep,
 
  165          Eigen::PlainObjectBase<DerivedVC > & VC,
 
  166          Eigen::PlainObjectBase<DerivedFC > & FC,
 
  167          Eigen::PlainObjectBase<DerivedJ > & J);
 
  177          const Eigen::MatrixBase<DerivedVA > & VA,
 
  178          const Eigen::MatrixBase<DerivedFA > & FA,
 
  179          const Eigen::MatrixBase<DerivedVB > & VB,
 
  180          const Eigen::MatrixBase<DerivedFB > & FB,
 
  182          Eigen::PlainObjectBase<DerivedVC > & VC,
 
  183          Eigen::PlainObjectBase<DerivedFC > & FC);
 
  188#ifndef IGL_STATIC_LIBRARY 
  189#  include "mesh_boolean.cpp" 
#define IGL_INLINE
Definition igl_inline.h:15
 
bool mesh_boolean(const Eigen::MatrixBase< DerivedVA > &VA, const Eigen::MatrixBase< DerivedFA > &FA, const Eigen::MatrixBase< DerivedVB > &VB, const Eigen::MatrixBase< DerivedFB > &FB, const MeshBooleanType &type, Eigen::PlainObjectBase< DerivedVC > &VC, Eigen::PlainObjectBase< DerivedFC > &FC, Eigen::PlainObjectBase< DerivedJ > &J)
Compute Boolean csg operations on "solid", consistently oriented meshes.
 
MeshBooleanType
Boolean operation types.
Definition MeshBooleanType.h:14