#include "omp.h"
#include <igl/copyleft/tetgen/tetrahedralize.h>
#include <igl/in_element.h>

__attribute__((noinline)) int _in_element(
    const Eigen::MatrixXd &TV, const Eigen::MatrixXi &TT,
    const Eigen::Vector3d &p, const igl::AABB<Eigen::MatrixXd, 3> &tree)
{
    Eigen::VectorXi I;
    igl::in_element(TV, TT, p.transpose(), tree, I);

    int idx = I[0];
    if (idx < 0)
        return -1;
    return idx;
}