#ifndef IGL_OUTER_FACET_H #define IGL_OUTER_FACET_H #include "igl_inline.h" #include namespace igl { // Compute a single facet which is guaranteed to be part of the "outer hull of // a mesh (V,F). This implementation follows Section 3.6 of "Direct repair of // self-intersecting meshes" [Attene 2014]. // // Inputs: // V #V by 3 list of vertex positions // F #F by 3 list of triangle indices into V // N #F by 3 list of face normals // I #I list of facets to actually consider // Outputs: // f index of facet into V // flip whether facet's orientation should be flipped so that // counter-clockwise normal points outward. // // See also: outer_hull.h template < typename DerivedV, typename DerivedF, typename DerivedN, typename DerivedI, typename f_type> IGL_INLINE void outer_facet( const Eigen::PlainObjectBase & V, const Eigen::PlainObjectBase & F, const Eigen::PlainObjectBase & N, const Eigen::PlainObjectBase & I, f_type & f, bool & flip); } #ifndef IGL_STATIC_LIBRARY # include "outer_facet.cpp" #endif #endif