11#ifndef EASY3D_ALGO_SURFACE_MESH_ENUMERATOR_H
12#define EASY3D_ALGO_SURFACE_MESH_ENUMERATOR_H
15#include <easy3d/core/surface_mesh.h>
78 float angle_threshold = 1.0f
Enumerates connected components for a surface mesh.
Definition: surface_mesh_enumerator.h:24
static void propagate_connected_component(SurfaceMesh *mesh, SurfaceMesh::VertexProperty< int > id, SurfaceMesh::Vertex seed, int cur_id)
Propagates a connected component of a surface mesh from the seed vertex.
Definition: surface_mesh_enumerator.cpp:19
static void propagate_planar_component(SurfaceMesh *mesh, SurfaceMesh::FaceProperty< int > id, SurfaceMesh::Face seed, int cur_id, float angle_threshold)
Propagates a planar patch from the seed face.
Definition: surface_mesh_enumerator.cpp:93
static int enumerate_connected_components(SurfaceMesh *mesh, SurfaceMesh::VertexProperty< int > id)
Enumerates the connected components of a surface mesh from its vertices.
Definition: surface_mesh_enumerator.cpp:39
static int enumerate_planar_components(SurfaceMesh *mesh, SurfaceMesh::FaceProperty< int > id, float angle_threshold=1.0f)
Enumerates planar patches.
Definition: surface_mesh_enumerator.cpp:125
A halfedge data structure for polygonal meshes of 2-manifold.
Definition: surface_mesh.h:52
Definition: collider.cpp:182
Definition: surface_mesh.h:134
Definition: surface_mesh.h:104