### **MeshTools** Optimized mesh model. * * * * * [![](https://img.kancloud.cn/ee/b8/eeb8bdcd1304c83ec977c056e224e399_1041x942.png =230x)](Smooth.md) [**Smooth**](Smooth.md) Smooth a mesh. We can set those points which are set as supports or loads as anchors in smooth processing to keep sharp features of the model. * * * * * [![](https://box.kancloud.cn/0aa4f40b2af512e4df5ef89525251484_1310x1040.png =230x)](Subdivision.md) [**Subdivision**](Subdivision.md) Subdivision are simple yet powerful ways to generate smooth surfaces from arbitrary polygonal meshes. A subdivision method recursively refines a coarse mesh and generates an ever closer approximation to a smooth surface. The coarse mesh can have arbitrary shape, but it has to be a 2-manifold. The coarse mesh is repeatedly refined by a quadrisection pattern, and new points are generated to approximate a smooth surface. This component contains two popular subdivision methods, Catmull-Clark and Loop.Variations of these methods can be easily extended by substituting the geometry computation of the refinement host. * * * * * [![](https://img.kancloud.cn/62/aa/62aaf66d94a93f99cb09152be0671d73_1091x441.png =230x)](MeshDual.md) [**MeshDual**](MeshDual.md) This component computes the dual of the mesh. Triangle meshes' dual graph are hexagons, quadrangle meshes' dual graph are still quadrangles (expressed by polylines). * * * * * [![](https://box.kancloud.cn/633cb7c8962274770993c2d24c1474c1_1081x291.png =230x)](FillHoles.md) [**FillHoles**](FillHoles.md) Create simply some mesh faces to fill the holes. * * * * * [![](https://box.kancloud.cn/4b69ddb22b828ed6a85aaca3942fde52_1241x851.png =230x)](MeshChecker.md) [**MeshChecker**](MeshChecker.md) Check and report informations that whether inputting mesh has non-manifold edges(or non-manifold vertices) or not. * * * * * [![](https://box.kancloud.cn/886a7509d46328980a2bd250fb1c973f_1081x1051.png =230x)](MeshPipe.md) [**MeshPipe**](MeshPipe.md) Create pipe meshes according lines. * * * * * [![](https://box.kancloud.cn/2f122d917beca01fac147abba4e90ca3_1101x851.png =230x)](OffsetMesh.md) [**OffsetMesh**](OffsetMesh.md) Offset mesh. * * * * * [![](https://img.kancloud.cn/69/3f/693fdfb044afb6356242956222142ff5_1041x441.png =230x)](MeshWeld.md) [**MeshWeld**](MeshWeld.md) This component has the ability to weld mesh and clean unused vertices. * * * * * [![](https://img.kancloud.cn/df/41/df416f7596118098e57aee72c0455a88_961x641.png =230x)](CloestVertex.md) [**CloestVertex**](CloestVertex.md) Get the index of the mesh vertices corresponding to each point in the point cloud. * * * * * [![](https://box.kancloud.cn/f1bc9e834cfb2a423a72ce520d7b7ccc_1000x451.png =230x)](AdjancentFaces.md) [**AdjancentFaces**](AdjancentFaces.md) Find adjancent faces' indices according to a face's index. * * * * * [![](https://box.kancloud.cn/c2dc1e8b8df422de7040c6fa62de7ce6_1001x651.png =230x)](CornerFaces.md) [**CornerFaces**](CornerFaces.md) Find corner faces' indices according to a face's index. * * * * * [![](https://img.kancloud.cn/e7/0a/e70a92b24507241f48579faf1e327d53_1011x530.png =230x)](CurvatureAnalysis.md) [**CurvatureAnalysis**](CurvatureAnalysis.md) Compute the curvature value of per-vertex (Mean,Gaussian,MaxAbsCurvature). * * * * * [![](https://img.kancloud.cn/df/f3/dff380bee76660076c0328eb964eb708_971x730.png =230x)](Skeleton2d.md) [**Skeleton2d**](Skeleton3d.md) Extract the skeleton from a 2D closed curves(or planar mesh, planar surface in "Robust" mode). Skeletons are effective shape abstractions used in segmentation, shape matching, reconstruction, virtual navigation, etc. As the name implies, a curve skeleton is a graph of curvilinear structures (1D). This component provides two algorithms to achieve this function. * * * * * [![](https://img.kancloud.cn/3f/2b/3f2b875c6ee594b8e99bd224f7545472_971x441.png =230x)](Skeleton3d.md) [**Skeleton3d**](Skeleton3d.md) Extract the skeleton from a 3D mesh using CGAL. Skeletons are effective shape abstractions used in segmentation, shape matching, reconstruction, virtual navigation, etc. As the name implies, a curve skeleton is a graph of curvilinear structures (1D). It is not a medial axis that for a 3D geometry is composed of surfaces (2D). * * * * * [![](https://img.kancloud.cn/f7/2c/f72cb1c7aefc6b70ca292bb8d0cba7ed_1011x841.png =230x)](Simplification.md) [**Simplification**](Simplification.md) Surface mesh simplification is the process of reducing the number of faces used in a surface mesh while keeping the overall shape, volume and boundaries preserved as much as possible. It is the opposite of subdivision. * * * * * [![](https://img.kancloud.cn/2c/11/2c117a68babbcab46ac6f1287797648c_1091x641.png =230x)](Parameterization.md) [**Parameterization**](Parameterization.md) Parameterizing a surface amounts to finding a one-to-one mapping from a suitable domain to the surface. A good mapping is the one which minimizes either angle distortions (conformal parameterization) or area distortions (equiareal parameterization) in some sense. In this component, we focus on parameterizing triangulated surfaces which are homeomorphic to a disk or a sphere, and on piecewise linear mappings onto a planar domain. Although the main motivation behind the first parameterization methods was the application to texture mapping, it is now frequently used for mapping more sophisticated modulation signals (such as normal, transparency, reflection or light modulation maps), fitting scattered data, re-parameterizing spline surfaces, repairing CAD models, approximating surfaces and remeshing. * * * * *