#include "setxor.h" #include "setdiff.h" #include "setunion.h" template < typename DerivedA, typename DerivedB, typename DerivedC, typename DerivedIA, typename DerivedIB> IGL_INLINE void igl::setxor( const Eigen::MatrixBase & A, const Eigen::MatrixBase & 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); IA = IAB(IA.derived()).eval(); IB = IBA(IB.derived()).eval(); } #ifdef IGL_STATIC_LIBRARY // Explicit template instantiation // generated by autoexplicit.sh template void igl::setxor, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); template void igl::setxor, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); #endif