|
| unsafe | RemeshSettings () |
| | Constructs an empty (default-constructed) instance.
|
| unsafe | RemeshSettings (float targetEdgeLen, int maxEdgeSplits, float maxAngleChangeAfterFlip, bool frozenBoundary, float maxBdShift, bool useCurvature, float maxSplittableTriAspectRatio, int finalRelaxIters, bool finalRelaxNoShrinkage, MR.FaceBitSet? region, MR.UndirectedEdgeBitSet? notFlippable, bool packMesh, bool projectOnOriginalMesh, MR.Std._ByValue_Function_VoidFuncFromMREdgeIdMREdgeId onEdgeSplit, MR.Std._ByValue_Function_VoidFuncFromMREdgeIdMREdgeId onEdgeDel, MR.Std._ByValue_Function_BoolFuncFromMREdgeIdConstMRVector3fRef preCollapse, MR.Std._ByValue_Function_BoolFuncFromFloat progressCallback) |
| | Constructs MR.RemeshSettings elementwise.
|
| unsafe | RemeshSettings (MR._ByValue_RemeshSettings _other) |
| | Generated from constructor MR.RemeshSettings.RemeshSettings.
|
| | RemeshSettings (Const_RemeshSettings _other) |
| | Generated from constructor MR.RemeshSettings.RemeshSettings.
|
| | RemeshSettings (RemeshSettings _other) |
| | Generated from constructor MR.RemeshSettings.RemeshSettings.
|
| unsafe MR.RemeshSettings | assign (MR._ByValue_RemeshSettings _other) |
| | Generated from method MR::RemeshSettings::operator=.
|
|
| new unsafe ref float | targetEdgeLen [get] |
| | the algorithm will try to keep the length of all edges close to this value, splitting the edges longer than targetEdgeLen, and then eliminating the edges shorter than targetEdgeLen
|
| new unsafe ref int | maxEdgeSplits [get] |
| | Maximum number of edge splits allowed during subdivision.
|
| new unsafe ref float | maxAngleChangeAfterFlip [get] |
| | Improves local mesh triangulation by doing edge flips if it does not change dihedral angle more than on this value.
|
| new unsafe ref bool | frozenBoundary [get] |
| | Allows or prohibits splitting and/or collapse boundary edges it recommended to keep default value here for better quality.
|
| new unsafe ref float | maxBdShift [get] |
| | Maximal shift of a boundary during one edge collapse only makes sense if frozenBoundary=false
|
| new unsafe ref bool | useCurvature [get] |
| | This option in subdivision works best for natural surfaces, where all triangles are close to equilateral and have similar area, and no sharp edges in between.
|
| new unsafe ref float | 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 frozenBoundary==true, otherwise many narrow triangles can appear near border.
|
| new unsafe ref int | finalRelaxIters [get] |
| | the number of iterations of final relaxation of mesh vertices; few iterations can give almost perfect uniformity of the vertices and edge lengths but deviate from the original surface
|
| new unsafe ref bool | finalRelaxNoShrinkage [get] |
| | if true prevents the surface from shrinkage after many iterations
|
| new unsafe MR.? FaceBitSet | region [get, set] |
| | Region on mesh to be changed, it is updated during the operation.
|
| new unsafe MR.? UndirectedEdgeBitSet | notFlippable [get, set] |
| | Edges specified by this bit-set will never be flipped or collapsed, but they can be replaced during collapse of nearby edges so it is updated during the operation; also the vertices incident to these edges are excluded from relaxation.
|
| new unsafe ref bool | packMesh [get] |
| | whether to pack mesh at the end
|
| new unsafe ref bool | projectOnOriginalMesh [get] |
| | if true, then every new vertex after subdivision will be projected on the original mesh (before smoothing); this does not affect the vertices moved on other stages of the processing
|
| new unsafe MR.Std.Function_Void_From_MREdgeId_MREdgeId | onEdgeSplit [get, protected set] |
| | this function is called each time edge (e) is split into (e1->e), but before the ring is made Delone
|
| new unsafe MR.Std.Function_Void_From_MREdgeId_MREdgeId | onEdgeDel [get, protected set] |
| | if valid (e1) is given then dest(e) = dest(e1) and their origins are in different ends of collapsing edge, e1 shall take the place of e
|
| new unsafe MR.Std.Function_Bool_From_MREdgeId_ConstMRVector3fRef | preCollapse [get, protected set] |
| | The user can provide this optional callback that is invoked immediately before edge collapse;.
|
| new unsafe MR.Std.Function_Bool_From_Float | progressCallback [get, protected set] |
| | callback to report algorithm progress and cancel it by user request
|
Generated from class MR.RemeshSettings. This is the non-const half of the class.