MeshLib C++ Docs
Loading...
Searching...
No Matches
MRInnerShell.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRMeshFwd.h"
4#include <cfloat>
5
6namespace MR
7{
10
11
12enum class Side
13{
16};
17
19{
22
24 float maxDistSq = FLT_MAX;
25
27 bool useWindingNumber = false;
28
32
36};
37
40{
42 bool inRange = false;
43
45 bool projOnBd = false;
46
48 bool rightSide = false;
49
51 bool valid() const { return inRange && !projOnBd && rightSide; }
52};
53
57[[nodiscard]] MRMESH_API ShellVertexInfo classifyShellVert( const MeshPart & mp, const Vector3f & shellPoint, const FindInnerShellSettings & settings = {} );
58
61[[nodiscard]] MRMESH_API VertBitSet findInnerShellVerts( const MeshPart & mp, const Mesh & shell, const FindInnerShellSettings & settings = {} );
62
65[[nodiscard]] MRMESH_API FaceBitSet findInnerShellFacesWithSplits( const MeshPart & mp, Mesh & shell, const FindInnerShellSettings & settings = {} );
66
67}
bool inRange
true when shell vertex is within settings.maxDist from source mesh
Definition MRInnerShell.h:42
int minVertsInComp
Definition MRInnerShell.h:35
Side side
specifies which side of shell is of interest: negative or positive relative to mesh normals
Definition MRInnerShell.h:21
MRMESH_API VertBitSet findInnerShellVerts(const MeshPart &mp, const Mesh &shell, const FindInnerShellSettings &settings={})
Side
Definition MRInnerShell.h:13
bool rightSide
whether shell vertex is on requested side of source mesh
Definition MRInnerShell.h:48
float windingNumberThreshold
Definition MRInnerShell.h:31
bool projOnBd
shell vertex projects on source mesh boundary (never true for winding rule mode)
Definition MRInnerShell.h:45
MRMESH_API FaceBitSet findInnerShellFacesWithSplits(const MeshPart &mp, Mesh &shell, const FindInnerShellSettings &settings={})
bool valid() const
returns true if shell vertex is in range, does not project on boundary and located on proper side
Definition MRInnerShell.h:51
float maxDistSq
specifies maximum squared distance from shell parts of interest to source mesh
Definition MRInnerShell.h:24
MRMESH_API ShellVertexInfo classifyShellVert(const MeshPart &mp, const Vector3f &shellPoint, const FindInnerShellSettings &settings={})
bool useWindingNumber
if true, a slower algorithm is activated that is more robust in the presence of self-intersections on...
Definition MRInnerShell.h:27
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Definition MRInnerShell.h:19
Definition MRMesh.h:23
information about shell vertex
Definition MRInnerShell.h:40