Easy3D 2.6.1
Loading...
Searching...
No Matches
surface_mesh_features.h
1/********************************************************************
2 * Copyright (C) 2020-2021 by Liangliang Nan <liangliang.nan@gmail.com>
3 * Copyright (C) 2011-2020 the Polygon Mesh Processing Library developers.
4 *
5 * The code in this file is adapted from the PMP (Polygon Mesh Processing
6 * Library) with modifications.
7 * https://github.com/pmp-library/pmp-library
8 * The original code was distributed under a MIT-style license, see
9 * https://github.com/pmp-library/pmp-library/blob/master/LICENSE.txt
10 ********************************************************************/
11
12#ifndef EASY3D_ALGO_SURFACE_MESH_FEATURES_H
13#define EASY3D_ALGO_SURFACE_MESH_FEATURES_H
14
15#include <easy3d/core/surface_mesh.h>
16
17
18namespace easy3d {
19
23 public:
28 explicit SurfaceMeshFeatures(SurfaceMesh *mesh);
29
34 void clear();
35
40 void detect_boundary();
41
47 void detect_angle(float angle);
48
49 private:
50 SurfaceMesh *mesh_;
51
52 // Property handles
55 };
56
57} // namespace easy3d
58
59#endif // EASY3D_ALGO_SURFACE_MESH_FEATURES_H
Edge property of type T.
Definition surface_mesh.h:327
Vertex property of type T.
Definition surface_mesh.h:255
void detect_angle(float angle)
Mark edges with dihedral angle larger than angle as feature.
Definition surface_mesh_features.cpp:46
SurfaceMeshFeatures(SurfaceMesh *mesh)
Construct with mesh to be analyzed.
Definition surface_mesh_features.cpp:17
void detect_boundary()
Mark all boundary edges as features.
Definition surface_mesh_features.cpp:34
void clear()
Clear features.
Definition surface_mesh_features.cpp:24
A halfedge data structure for polygonal meshes of 2-manifold.
Definition surface_mesh.h:51
Definition collider.cpp:182