#define MR_EXTERN_C_BEGIN
Definition MRMeshC/MRMeshFwd.h:26
bool(* MRProgressCallback)(float)
Definition MRMeshC/MRMeshFwd.h:54
struct MRVertBitSet MRVertBitSet
Definition MRMeshC/MRMeshFwd.h:38
#define MR_EXTERN_C_END
Definition MRMeshC/MRMeshFwd.h:27
struct MRUndirectedEdgeBitSet MRUndirectedEdgeBitSet
Definition MRMeshC/MRMeshFwd.h:36
struct MRMesh MRMesh
Definition MRMeshC/MRMeshFwd.h:47
struct MRFaceBitSet MRFaceBitSet
Definition MRMeshC/MRMeshFwd.h:37
#define MRMESHC_API
Definition MRMeshC/MRMeshFwd.h:19
MRMESHC_API int mrSubdivideMesh(MRMesh *mesh, const MRSubdivideSettings *settings)
MR_EXTERN_C_BEGIN struct MRSubdivideSettings MRSubdivideSettings
MRMESHC_API MRSubdivideSettings mrSubdivideSettingsNew(void)
Definition MRMeshC/MRMeshSubdivide.h:8
float criticalAspectRatioFlip
Definition MRMeshC/MRMeshSubdivide.h:24
MRVertBitSet * newVerts
New vertices appeared during subdivision will be added here.
Definition MRMeshC/MRMeshSubdivide.h:33
bool subdivideBorder
Definition MRMeshC/MRMeshSubdivide.h:37
MRUndirectedEdgeBitSet * notFlippable
Edges specified by this bit-set will never be flipped, but they can be split so it is updated during ...
Definition MRMeshC/MRMeshSubdivide.h:30
float maxAngleChangeAfterFlip
Improves local mesh triangulation by doing edge flips if it does not change dihedral angle more than ...
Definition MRMeshC/MRMeshSubdivide.h:19
bool smoothMode
Definition MRMeshC/MRMeshSubdivide.h:49
float minSharpDihedralAngle
Definition MRMeshC/MRMeshSubdivide.h:53
bool projectOnOriginalMesh
if true, then every new vertex will be projected on the original mesh (before smoothing)
Definition MRMeshC/MRMeshSubdivide.h:56
float maxSplittableTriAspectRatio
Definition MRMeshC/MRMeshSubdivide.h:45
float maxTriAspectRatio
The subdivision stops as soon as all triangles (in the region) have aspect ratio below or equal to th...
Definition MRMeshC/MRMeshSubdivide.h:40
int maxEdgeSplits
Maximum number of edge splits allowed.
Definition MRMeshC/MRMeshSubdivide.h:13
const MRFaceBitSet * region
Region on mesh to be subdivided, it is updated during the operation.
Definition MRMeshC/MRMeshSubdivide.h:27
MRProgressCallback progressCallback
callback to report algorithm progress and cancel it by user request
Definition MRMeshC/MRMeshSubdivide.h:63
float maxEdgeLen
Subdivision is stopped when all edges inside or on the boundary of the region are not longer than thi...
Definition MRMeshC/MRMeshSubdivide.h:10
float maxDeviationAfterFlip
Improves local mesh triangulation by doing edge flips if it does not make too big surface deviation.
Definition MRMeshC/MRMeshSubdivide.h:16