// This file is part of libigl, a simple c++ geometry processing library. // // Copyright (C) 2015 Alec Jacobson // // This Source Code Form is subject to the terms of the Mozilla Public License // v. 2.0. If a copy of the MPL was not distributed with this file, You can // obtain one at http://mozilla.org/MPL/2.0/. #ifndef IGL_COPYLEFT_CGAL_INTERSECT_OTHER_H #define IGL_COPYLEFT_CGAL_INTERSECT_OTHER_H #include "../../igl_inline.h" #include "RemeshSelfIntersectionsParam.h" #include #ifdef MEX # include # include # undef assert # define assert( isOK ) ( (isOK) ? (void)0 : (void) mexErrMsgTxt(C_STR(__FILE__<<":"<<__LINE__<<": failed assertion `"<<#isOK<<"'"< IGL_INLINE bool intersect_other( const Eigen::PlainObjectBase & VA, const Eigen::PlainObjectBase & FA, const Eigen::PlainObjectBase & VB, const Eigen::PlainObjectBase & FB, const RemeshSelfIntersectionsParam & params, Eigen::PlainObjectBase & IF, Eigen::PlainObjectBase & VVAB, Eigen::PlainObjectBase & FFAB, Eigen::PlainObjectBase & JAB, Eigen::PlainObjectBase & IMAB); // Legacy wrapper for detect only using common types. // // Inputs: // VA #V by 3 list of vertex positions // FA #F by 3 list of triangle indices into VA // VB #V by 3 list of vertex positions // FB #F by 3 list of triangle indices into VB // first_only whether to only detect the first intersection. // Outputs: // IF #intersecting face pairs by 2 list of intersecting face pairs, // indexing FA and FB // Returns true if any intersections were found // // See also: remesh_self_intersections IGL_INLINE bool intersect_other( const Eigen::MatrixXd & VA, const Eigen::MatrixXi & FA, const Eigen::MatrixXd & VB, const Eigen::MatrixXi & FB, const bool first_only, Eigen::MatrixXi & IF); } } } #ifndef IGL_STATIC_LIBRARY # include "intersect_other.cpp" #endif #endif