3#include "MRPch/MRBindingMacros.h"
#define MRMESH_API
Definition MRMeshFwd.h:80
std::function< bool(float)> ProgressCallback
Definition MRMeshFwd.h:753
bool insideAndOutside
Definition MRMeshThickness.h:43
int maxIters
maximum number of shrinking iterations for one triangle
Definition MRMeshThickness.h:50
std::optional< VertScalars > computeInSphereThicknessAtVertices(const Mesh &mesh, const InSphereSearchSettings &settings, const ProgressCallback &progress={})
returns the thickness at each vertex as the diameter of the maximal inscribed sphere
std::function< bool(FaceId)> FacePredicate
Definition MRMeshFwd.h:569
Vector3f pt
3d coordinates
Definition MRMeshThickness.h:23
float minShrinkage
iterations stop if next radius is larger than minShrinkage times previous radius
Definition MRMeshThickness.h:53
void set(const Mesh &mesh, const MeshTriPoint &p)
float maxRadius
Definition MRMeshThickness.h:47
float radius
Definition MRMeshThickness.h:67
MeshProjectionResult oppositeTouchPoint
excluding input point and incident triangles, distSq - squared distance to sphere's center
Definition MRMeshThickness.h:68
MeshIntersectionResult rayInsideIntersect(const Mesh &mesh, const MeshPoint &m, float rayEnd=FLT_MAX)
returns the nearest intersection between the mesh and the ray from given point along minus normal (in...
MeshTriPoint triPoint
relative position on mesh
Definition MRMeshThickness.h:22
FacePredicate notIncidentFaces
predicate that returns true for mesh faces not-incident to the point
Definition MRMeshThickness.h:25
InSphere findInSphere(const Mesh &mesh, const MeshPoint &m, const InSphereSearchSettings &settings)
finds maximal sphere inscribed in the mesh touching point (p) with center along the normal at (p)
float minAngleCos
Definition MRMeshThickness.h:60
std::array< Vector3f, 3 > MR_BIND_IGNORE
Definition MRMeshBuilderTypes.h:13
Vector3f center
Definition MRMeshThickness.h:66
Vector3f inDir
unit direction inside the mesh = minus normal
Definition MRMeshThickness.h:24
std::optional< VertScalars > computeRayThicknessAtVertices(const Mesh &mesh, const ProgressCallback &progress={})
returns the distance from each vertex along minus normal to the nearest mesh intersection (or FLT_MAX...
MR_BIND_IGNORE VertScalars computeThicknessAtVertices(const Mesh &mesh)
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
controls the finding of maximal inscribed sphere in mesh
Definition MRMeshThickness.h:39
found maximal inscribed sphere touching input point with center along given direction
Definition MRMeshThickness.h:65
Definition MRMeshIntersect.h:18
describes the point of measurement on mesh
Definition MRMeshThickness.h:21
Definition MRMeshProject.h:18
Definition MRMeshTriPoint.h:26