Easy3D 2.5.3
surface_mesh_enumerator.h
1/********************************************************************
2 * Copyright (C) 2020-2021 by Liangliang Nan <liangliang.nan@gmail.com>
3 * Copyright (C) 2000-2005 INRIA - Project ALICE
4 *
5 * The code in this file is partly from OGF/Graphite (2.0 alpha-4) with
6 * modifications and enhancement:
7 * https://gforge.inria.fr/forum/forum.php?forum_id=11459
8 * The original code was distributed under the GNU GPL license.
9 ********************************************************************/
10
11#ifndef EASY3D_ALGO_SURFACE_MESH_ENUMERATOR_H
12#define EASY3D_ALGO_SURFACE_MESH_ENUMERATOR_H
13
14
15#include <easy3d/core/surface_mesh.h>
16
17
18namespace easy3d {
19
25 public:
26
34
42
51 static void
53 int cur_id);
54
63 static void
65 int cur_id);
66
76 SurfaceMesh *mesh,
78 float angle_threshold = 1.0f
79 );
80
94 SurfaceMesh::Face seed, int cur_id,
95 float angle_threshold
96 );
97
98 };
99
100} // namespace easy3d
101
102
103#endif // EASY3D_ALGO_SURFACE_MESH_ENUMERATOR_H
104
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