Easy3D 2.5.3
surface_mesh_subdivision.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_MESH_SUBDIVISION_H
13#define EASY3D_ALGO_MESH_SUBDIVISION_H
14
15
16namespace easy3d {
17
18 class SurfaceMesh;
19
23 public:
25 static bool catmull_clark(SurfaceMesh *mesh);
26
28 static bool loop(SurfaceMesh *mesh);
29
31 static bool sqrt3(SurfaceMesh *mesh);
32 };
33
34} // namespace easy3d
35
36#endif // EASY3D_ALGO_MESH_SUBDIVISION_H
A halfedge data structure for polygonal meshes of 2-manifold.
Definition: surface_mesh.h:52
SurfaceMeshSubdivision implement several well-known subdivision algorithms.
Definition: surface_mesh_subdivision.h:22
static bool loop(SurfaceMesh *mesh)
The Loop subdivision.
Definition: surface_mesh_subdivision.cpp:179
static bool catmull_clark(SurfaceMesh *mesh)
The Catmull-Clark subdivision.
Definition: surface_mesh_subdivision.cpp:20
static bool sqrt3(SurfaceMesh *mesh)
The sqrt3 subdivision.
Definition: surface_mesh_subdivision.cpp:329
Definition: collider.cpp:182