8#ifndef IGL_COPYLEFT_CGAL_POINT_MESH_SQUARED_DISTANCE_H
9#define IGL_COPYLEFT_CGAL_POINT_MESH_SQUARED_DISTANCE_H
10#include "../../igl_inline.h"
13#include "CGAL_includes.hpp"
42 const Eigen::PlainObjectBase<DerivedP> & P,
43 const Eigen::PlainObjectBase<DerivedV> & V,
44 const Eigen::PlainObjectBase<DerivedF> & F,
45 Eigen::PlainObjectBase<DerivedsqrD> & sqrD,
46 Eigen::PlainObjectBase<DerivedI> & I,
47 Eigen::PlainObjectBase<DerivedC> & C);
63 const Eigen::PlainObjectBase<DerivedV> & V,
64 const Eigen::PlainObjectBase<DerivedF> & F,
66 CGAL::AABB_traits<Kernel,
67 CGAL::AABB_triangle_primitive<Kernel,
68 typename std::vector<CGAL::Triangle_3<Kernel> >::iterator
72 std::vector<CGAL::Triangle_3<Kernel> > & T);
90 const Eigen::PlainObjectBase<DerivedP> & P,
91 const CGAL::AABB_tree<
92 CGAL::AABB_traits<Kernel,
93 CGAL::AABB_triangle_primitive<Kernel,
94 typename std::vector<CGAL::Triangle_3<Kernel> >::iterator
98 const std::vector<CGAL::Triangle_3<Kernel> > & T,
99 Eigen::PlainObjectBase<DerivedsqrD> & sqrD,
100 Eigen::PlainObjectBase<DerivedI> & I,
101 Eigen::PlainObjectBase<DerivedC> & C);
106#ifndef IGL_STATIC_LIBRARY
107# include "point_mesh_squared_distance.cpp"
#define IGL_INLINE
Definition igl_inline.h:15
void point_mesh_squared_distance(const Eigen::PlainObjectBase< DerivedP > &P, const Eigen::PlainObjectBase< DerivedV > &V, const Eigen::PlainObjectBase< DerivedF > &F, Eigen::PlainObjectBase< DerivedsqrD > &sqrD, Eigen::PlainObjectBase< DerivedI > &I, Eigen::PlainObjectBase< DerivedC > &C)
Compute distances from a set of points P to a triangle mesh (V,F)
void point_mesh_squared_distance_precompute(const Eigen::PlainObjectBase< DerivedV > &V, const Eigen::PlainObjectBase< DerivedF > &F, CGAL::AABB_tree< CGAL::AABB_traits< Kernel, CGAL::AABB_triangle_primitive< Kernel, typename std::vector< CGAL::Triangle_3< Kernel > >::iterator > > > &tree, std::vector< CGAL::Triangle_3< Kernel > > &T)
precomputation for point_mesh_squared_distance