|
@@ -6,13 +6,9 @@
|
|
|
#include <vector>
|
|
|
|
|
|
namespace igl {
|
|
|
- // Extract a set of maximal manifold patches from a given mesh.
|
|
|
- // A maximal manifold patch is a subset of the input faces that is
|
|
|
- // connected and manifold, and it cannot be expanded further by
|
|
|
- // including more faces.
|
|
|
- //
|
|
|
- // Assumes the input mesh have all self-intersection resolved. See
|
|
|
- // ``igl::cgal::remesh_self_intersection`` for more details.
|
|
|
+ // Extract a set of maximal patches from a given mesh.
|
|
|
+ // A maximal patch is a subset of the input faces that are connected via
|
|
|
+ // manifold edges; a patch is as large as possible.
|
|
|
//
|
|
|
// Inputs:
|
|
|
// F #F by 3 list representing triangles.
|
|
@@ -25,15 +21,15 @@ namespace igl {
|
|
|
// Returns:
|
|
|
// number of manifold patches.
|
|
|
template <
|
|
|
- typename DerivedF,
|
|
|
- typename DerivedEMAP,
|
|
|
- typename uE2EType,
|
|
|
- typename DerivedP>
|
|
|
+ typename DerivedF,
|
|
|
+ typename DerivedEMAP,
|
|
|
+ typename uE2EType,
|
|
|
+ typename DerivedP>
|
|
|
IGL_INLINE size_t extract_manifold_patches(
|
|
|
- const Eigen::PlainObjectBase<DerivedF>& F,
|
|
|
- const Eigen::PlainObjectBase<DerivedEMAP>& EMAP,
|
|
|
- const std::vector<std::vector<uE2EType> >& uE2E,
|
|
|
- Eigen::PlainObjectBase<DerivedP>& P);
|
|
|
+ const Eigen::PlainObjectBase<DerivedF>& F,
|
|
|
+ const Eigen::PlainObjectBase<DerivedEMAP>& EMAP,
|
|
|
+ const std::vector<std::vector<uE2EType> >& uE2E,
|
|
|
+ Eigen::PlainObjectBase<DerivedP>& P);
|
|
|
}
|
|
|
#ifndef IGL_STATIC_LIBRARY
|
|
|
# include "extract_manifold_patches.cpp"
|