libigl v2.5.0
Loading...
Searching...
No Matches
point_mesh_squared_distance.h
Go to the documentation of this file.
1// This file is part of libigl, a simple c++ geometry processing library.
2//
3// Copyright (C) 2014 Alec Jacobson <alecjacobson@gmail.com>
4//
5// This Source Code Form is subject to the terms of the Mozilla Public License
6// v. 2.0. If a copy of the MPL was not distributed with this file, You can
7// obtain one at http://mozilla.org/MPL/2.0/.
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"
11#include <Eigen/Core>
12#include <vector>
13#include "CGAL_includes.hpp"
14namespace igl
15{
16 namespace copyleft
17 {
18 namespace cgal
19 {
33 template <
34 typename Kernel,
35 typename DerivedP,
36 typename DerivedV,
37 typename DerivedF,
38 typename DerivedsqrD,
39 typename DerivedI,
40 typename DerivedC>
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);
57 template <
58 typename Kernel,
59 typename DerivedV,
60 typename DerivedF
61 >
63 const Eigen::PlainObjectBase<DerivedV> & V,
64 const Eigen::PlainObjectBase<DerivedF> & F,
65 CGAL::AABB_tree<
66 CGAL::AABB_traits<Kernel,
67 CGAL::AABB_triangle_primitive<Kernel,
68 typename std::vector<CGAL::Triangle_3<Kernel> >::iterator
69 >
70 >
71 > & tree,
72 std::vector<CGAL::Triangle_3<Kernel> > & T);
83 template <
84 typename Kernel,
85 typename DerivedP,
86 typename DerivedsqrD,
87 typename DerivedI,
88 typename DerivedC>
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
95 >
96 >
97 > & tree,
98 const std::vector<CGAL::Triangle_3<Kernel> > & T,
99 Eigen::PlainObjectBase<DerivedsqrD> & sqrD,
100 Eigen::PlainObjectBase<DerivedI> & I,
101 Eigen::PlainObjectBase<DerivedC> & C);
102 }
103 }
104}
105
106#ifndef IGL_STATIC_LIBRARY
107# include "point_mesh_squared_distance.cpp"
108#endif
109
110#endif
#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
Definition AABB.h:17