MeshLib Documentation
Loading...
Searching...
No Matches
MRAlphaShape.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRMeshFwd.h"
4
5namespace MR
6{
7
8// inspired by "On the Shape of a Set of Points in the Plane" by HERBERT EDELSBRUNNER, DAVID G. KIRKPATRICK, AND RAIMUND SEIDEL
9// https://www.cs.jhu.edu/~misha/Fall13b/Papers/Edelsbrunner93.pdf
10
13MRMESH_API void findAlphaShapeNeiTriangles( const PointCloud & cloud, VertId v, float radius,
14 Triangulation & appendTris,
15 std::vector<VertId> & neis,
16 bool onlyLargerVids );
17
19[[nodiscard]] MRMESH_API Triangulation findAlphaShapeAllTriangles( const PointCloud & cloud, float radius );
20
21} //namespace MR
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:46
Definition MRCameraOrientationPlugin.h:8
MRMESH_API Triangulation findAlphaShapeAllTriangles(const PointCloud &cloud, float radius)
find all triangles of alpha-shape with negative alpha = -1/radius
MRMESH_API void findAlphaShapeNeiTriangles(const PointCloud &cloud, VertId v, float radius, Triangulation &appendTris, std::vector< VertId > &neis, bool onlyLargerVids)
if true then two other points must have larger ids (to avoid finding same triangles several times)
Definition MRMesh/MRPointCloud.h:16