#include "setxor.h" #include "setdiff.h" #include "setunion.h" #include "slice.h" template < typename DerivedA, typename DerivedB, typename DerivedC, typename DerivedIA, typename DerivedIB> IGL_INLINE void igl::setxor( const Eigen::DenseBase & A, const Eigen::DenseBase & B, Eigen::PlainObjectBase & C, Eigen::PlainObjectBase & IA, Eigen::PlainObjectBase & IB) { DerivedC AB,BA; DerivedIA IAB,IBA; setdiff(A,B,AB,IAB); setdiff(B,A,BA,IBA); setunion(AB,BA,C,IA,IB); slice(IAB,DerivedIA(IA),IA); slice(IBA,DerivedIB(IB),IB); } #ifdef IGL_STATIC_LIBRARY // Explicit template instantiation // generated by autoexplicit.sh template void igl::setxor, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::DenseBase > const&, Eigen::DenseBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); template void igl::setxor, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::DenseBase > const&, Eigen::DenseBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); #endif