libigl v2.5.0
Loading...
Searching...
No Matches
order_facets_around_edges.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) 2015 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_ORDER_FACETS_AROUND_EDGES_H
9#define IGL_COPYLEFT_CGAL_ORDER_FACETS_AROUND_EDGES_H
10#include "../../igl_inline.h"
11#include <Eigen/Core>
12#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
13#include <vector>
14
15namespace igl
16{
17 namespace copyleft
18 {
19 namespace cgal
20 {
40 template<
41 typename DerivedV,
42 typename DerivedF,
43 typename DerivedN,
44 typename DeriveduE,
45 typename uE2EType,
46 typename uE2oEType,
47 typename uE2CType >
49 typename std::enable_if<!std::is_same<typename DerivedV::Scalar,
50 typename CGAL::Exact_predicates_exact_constructions_kernel::FT>::value, void>::type
52 const Eigen::PlainObjectBase<DerivedV>& V,
53 const Eigen::PlainObjectBase<DerivedF>& F,
54 const Eigen::PlainObjectBase<DerivedN>& N,
55 const Eigen::PlainObjectBase<DeriveduE>& uE,
56 const std::vector<std::vector<uE2EType> >& uE2E,
57 std::vector<std::vector<uE2oEType> >& uE2oE,
58 std::vector<std::vector<uE2CType > >& uE2C );
60 template<
61 typename DerivedV,
62 typename DerivedF,
63 typename DerivedN,
64 typename DeriveduE,
65 typename uE2EType,
66 typename uE2oEType,
67 typename uE2CType >
69 typename std::enable_if<std::is_same<typename DerivedV::Scalar,
70 typename CGAL::Exact_predicates_exact_constructions_kernel::FT>::value, void>::type
72 const Eigen::PlainObjectBase<DerivedV>& V,
73 const Eigen::PlainObjectBase<DerivedF>& F,
74 const Eigen::PlainObjectBase<DerivedN>& N,
75 const Eigen::PlainObjectBase<DeriveduE>& uE,
76 const std::vector<std::vector<uE2EType> >& uE2E,
77 std::vector<std::vector<uE2oEType> >& uE2oE,
78 std::vector<std::vector<uE2CType > >& uE2C );
82 template<
83 typename DerivedV,
84 typename DerivedF,
85 typename DeriveduE,
86 typename uE2EType,
87 typename uE2oEType,
88 typename uE2CType >
90 const Eigen::PlainObjectBase<DerivedV>& V,
91 const Eigen::PlainObjectBase<DerivedF>& F,
92 const Eigen::PlainObjectBase<DeriveduE>& uE,
93 const std::vector<std::vector<uE2EType> >& uE2E,
94 std::vector<std::vector<uE2oEType> >& uE2oE,
95 std::vector<std::vector<uE2CType > >& uE2C );
96 }
97 }
98}
99
100#ifndef IGL_STATIC_LIBRARY
101#include "order_facets_around_edges.cpp"
102#endif
103
104#endif
#define IGL_INLINE
Definition igl_inline.h:15
std::enable_if<!std::is_same< typenameDerivedV::Scalar, typenameCGAL::Exact_predicates_exact_constructions_kernel::FT >::value, void >::type order_facets_around_edges(const Eigen::PlainObjectBase< DerivedV > &V, const Eigen::PlainObjectBase< DerivedF > &F, const Eigen::PlainObjectBase< DerivedN > &N, const Eigen::PlainObjectBase< DeriveduE > &uE, const std::vector< std::vector< uE2EType > > &uE2E, std::vector< std::vector< uE2oEType > > &uE2oE, std::vector< std::vector< uE2CType > > &uE2C)
For each undirected edge, sort its adjacent faces.
Definition AABB.h:17