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