MeshLib C# Docs
Loading...
Searching...
No Matches
MR.Const_SubdivideSettings Class Reference

Generated from class MR.SubdivideSettings. This is the const half of the class. More...

+ Inheritance diagram for MR.Const_SubdivideSettings:

Classes

struct  _Underlying
 

Public Member Functions

virtual void Dispose ()
 
unsafe Const_SubdivideSettings ()
 Constructs an empty (default-constructed) instance.
 
unsafe Const_SubdivideSettings (float maxEdgeLen, int maxEdgeSplits, float maxDeviationAfterFlip, float maxAngleChangeAfterFlip, float criticalAspectRatioFlip, MR.FaceBitSet? region, MR.FaceBitSet? maintainRegion, MR.UndirectedEdgeBitSet? notFlippable, MR.VertBitSet? newVerts, bool subdivideBorder, float maxTriAspectRatio, float maxSplittableTriAspectRatio, bool smoothMode, float minSharpDihedralAngle, bool projectOnOriginalMesh, MR.Std._ByValue_Function_BoolFuncFromMREdgeId beforeEdgeSplit, MR.Std._ByValue_Function_VoidFuncFromMRVertId onVertCreated, MR.Std._ByValue_Function_VoidFuncFromMREdgeIdMREdgeId onEdgeSplit, MR.Std._ByValue_Function_BoolFuncFromFloat progressCallback)
 Constructs MR.SubdivideSettings elementwise.
 
unsafe Const_SubdivideSettings (MR._ByValue_SubdivideSettings _other)
 Generated from constructor MR.SubdivideSettings.SubdivideSettings.
 

Protected Member Functions

virtual unsafe void Dispose (bool disposing)
 

Properties

unsafe float maxEdgeLen [get]
 Subdivision is stopped when all edges inside or on the boundary of the region are not longer than this value.
 
unsafe int maxEdgeSplits [get]
 Maximum number of edge splits allowed.
 
unsafe float maxDeviationAfterFlip [get]
 Improves local mesh triangulation by doing edge flips if it does not make too big surface deviation.
 
unsafe float maxAngleChangeAfterFlip [get]
 Improves local mesh triangulation by doing edge flips if it does not change dihedral angle more than on this value (in radians)
 
unsafe float criticalAspectRatioFlip [get]
 
unsafe MR.? FaceBitSet region [get]
 Region on mesh to be subdivided, it is updated during the operation.
 
unsafe MR.? FaceBitSet maintainRegion [get]
 
unsafe MR.? UndirectedEdgeBitSet notFlippable [get]
 Edges specified by this bit-set will never be flipped, but they can be split so it is updated during the operation.
 
unsafe MR.? VertBitSet newVerts [get]
 New vertices appeared during subdivision will be added here.
 
unsafe bool subdivideBorder [get]
 
unsafe float maxTriAspectRatio [get]
 The subdivision stops as soon as all triangles (in the region) have aspect ratio below or equal to this value.
 
unsafe float maxSplittableTriAspectRatio [get]
 
unsafe bool smoothMode [get]
 
unsafe float minSharpDihedralAngle [get]
 
unsafe bool projectOnOriginalMesh [get]
 if true, then every new vertex will be projected on the original mesh (before smoothing)
 
unsafe MR.Std.Const_Function_BoolFuncFromMREdgeId beforeEdgeSplit [get]
 this function is called each time edge (e) is going to split, if it returns false then this split will be skipped
 
unsafe MR.Std.Const_Function_VoidFuncFromMRVertId onVertCreated [get]
 this function is called each time a new vertex has been created, but before the ring is made Delone
 
unsafe MR.Std.Const_Function_VoidFuncFromMREdgeIdMREdgeId onEdgeSplit [get]
 this function is called each time edge (e) is split into (e1->e), but before the ring is made Delone
 
unsafe MR.Std.Const_Function_BoolFuncFromFloat progressCallback [get]
 callback to report algorithm progress and cancel it by user request
 
- Properties inherited from MR.Misc.Object< Const_SubdivideSettings >
virtual bool _IsOwning [get]
 Returns true if this is an owning instance, and when disposed, will destroy the underlying C++ instance. If false, we assume that the underlying C++ instance will live long enough.
 

Additional Inherited Members

- Protected Attributes inherited from MR.Misc.Object< Const_SubdivideSettings >
bool _IsOwningVal
 

Detailed Description

Generated from class MR.SubdivideSettings. This is the const half of the class.

Property Documentation

◆ criticalAspectRatioFlip

unsafe float MR.Const_SubdivideSettings.criticalAspectRatioFlip
get

If this value is less than FLT_MAX then edge flips will ignore dihedral angle check if one of triangles has aspect ratio more than this value Unit: rad

◆ maintainRegion

unsafe MR.? FaceBitSet MR.Const_SubdivideSettings.maintainRegion
get

Additional region to update during subdivision: if a face from here is split, it is replaced with new sub-faces; note that Subdivide can split faces even outside of main region, so it might be necessary to update another region

◆ maxSplittableTriAspectRatio

unsafe float MR.Const_SubdivideSettings.maxSplittableTriAspectRatio
get

An edge is subdivided only if both its left and right triangles have aspect ratio below or equal to this value. So this is a maximum aspect ratio of a triangle that can be split on two before Delone optimization. Please set it to a smaller value only if subdivideBorder==false, otherwise many narrow triangles can appear near border

◆ smoothMode

unsafe bool MR.Const_SubdivideSettings.smoothMode
get

Puts new vertices so that they form a smooth surface together with existing vertices. This option works best for natural surfaces without sharp edges in between triangles

◆ subdivideBorder

unsafe bool MR.Const_SubdivideSettings.subdivideBorder
get

If false do not touch border edges (cannot subdivide lone faces)
use MR.findRegionOuterFaces to find boundary faces


The documentation for this class was generated from the following file: