Static Public Member Functions | |
| static auto | new () -> meshlib::Owned< meshlib::RemeshSettings > |
| static auto | construct_from (targetEdgeLen:f32, maxEdgeSplits:core::ffi::c_int, maxAngleChangeAfterFlip:f32, frozenBoundary:bool, maxBdShift:f32, useCurvature:bool, maxSplittableTriAspectRatio:f32, finalRelaxIters:core::ffi::c_int, finalRelaxNoShrinkage:bool, region:Option<&mut meshlib::FaceBitSet >, notFlippable:Option<&mut meshlib::UndirectedEdgeBitSet >, packMesh:bool, projectOnOriginalMesh:bool, onEdgeSplit:&meshlib::std_function_void_from_MR_EdgeId_MR_EdgeId, onEdgeDel:&meshlib::std_function_void_from_MR_EdgeId_MR_EdgeId, preCollapse:&meshlib::std_function_bool_from_MR_EdgeId_const_MR_Vector3f_ref, progressCallback:&meshlib::std_function_bool_from_float) -> meshlib::Owned< meshlib::RemeshSettings > |
| static auto | construct_from_another (_other:&meshlib::RemeshSettings) -> meshlib::Owned< meshlib::RemeshSettings > |
| Static Public Member Functions inherited from meshlib::CppClass | |
| static void | destroy (ptr:*mut Self) |
| Static Public Member Functions inherited from meshlib::CppCopy | |
| static auto | copy (ptr:*const Self) -> *mut Self |
Generated from class MR::RemeshSettings.
Generated from class MR::RemeshSettings. Heap-allocated instances are held in Owned<RemeshSettings>.
| auto meshlib::RemeshSettings::assign_from_another | ( | _other:&meshlib::RemeshSettings | ) | -> &mut meshlib::RemeshSettings |
Generated from method MR::RemeshSettings::operator=.
Calls MR_RemeshSettings_AssignFromAnother(). The reference to things referred to by the parameter _other (if any) might be preserved in this object.
|
static |
Constructs MR::RemeshSettings elementwise.
Calls MR_RemeshSettings_ConstructFrom(). The reference to the parameter region might be preserved in the constructed object. The reference to the parameter notFlippable might be preserved in the constructed object. The reference to the parameter onEdgeSplit might be preserved in the constructed object. The reference to the parameter onEdgeDel might be preserved in the constructed object. The reference to the parameter preCollapse might be preserved in the constructed object. The reference to the parameter progressCallback might be preserved in the constructed object.
|
static |
Generated from constructor MR::RemeshSettings::RemeshSettings.
Calls MR_RemeshSettings_ConstructFromAnother(). The reference to things referred to by the parameter _other (if any) might be preserved in the constructed object.
| auto meshlib::RemeshSettings::final_relax_iters | ( | ) | const -> &core::ffi::c_int |
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 Returns a pointer to a member variable of class MR::RemeshSettings named finalRelaxIters.
Calls MR_RemeshSettings_Get_finalRelaxIters(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::final_relax_iters_mut | ( | ) | -> &mut core::ffi::c_int |
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 Returns a mutable pointer to a member variable of class MR::RemeshSettings named finalRelaxIters.
Calls MR_RemeshSettings_GetMutable_finalRelaxIters(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::final_relax_no_shrinkage | ( | ) | const -> &bool |
if true prevents the surface from shrinkage after many iterations Returns a pointer to a member variable of class MR::RemeshSettings named finalRelaxNoShrinkage.
Calls MR_RemeshSettings_Get_finalRelaxNoShrinkage(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::final_relax_no_shrinkage_mut | ( | ) | -> &mut bool |
if true prevents the surface from shrinkage after many iterations Returns a mutable pointer to a member variable of class MR::RemeshSettings named finalRelaxNoShrinkage.
Calls MR_RemeshSettings_GetMutable_finalRelaxNoShrinkage(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::frozen_boundary | ( | ) | const -> &bool |
Allows or prohibits splitting and/or collapse boundary edges it recommended to keep default value here for better quality Returns a pointer to a member variable of class MR::RemeshSettings named frozenBoundary.
Calls MR_RemeshSettings_Get_frozenBoundary(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::frozen_boundary_mut | ( | ) | -> &mut bool |
Allows or prohibits splitting and/or collapse boundary edges it recommended to keep default value here for better quality Returns a mutable pointer to a member variable of class MR::RemeshSettings named frozenBoundary.
Calls MR_RemeshSettings_GetMutable_frozenBoundary(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::max_angle_change_after_flip | ( | ) | const -> &f32 |
Improves local mesh triangulation by doing edge flips if it does not change dihedral angle more than on this value Returns a pointer to a member variable of class MR::RemeshSettings named maxAngleChangeAfterFlip.
Calls MR_RemeshSettings_Get_maxAngleChangeAfterFlip(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::max_angle_change_after_flip_mut | ( | ) | -> &mut f32 |
Improves local mesh triangulation by doing edge flips if it does not change dihedral angle more than on this value Returns a mutable pointer to a member variable of class MR::RemeshSettings named maxAngleChangeAfterFlip.
Calls MR_RemeshSettings_GetMutable_maxAngleChangeAfterFlip(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::max_bd_shift | ( | ) | const -> &f32 |
Maximal shift of a boundary during one edge collapse only makes sense if frozenBoundary=false Returns a pointer to a member variable of class MR::RemeshSettings named maxBdShift.
Calls MR_RemeshSettings_Get_maxBdShift(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::max_bd_shift_mut | ( | ) | -> &mut f32 |
Maximal shift of a boundary during one edge collapse only makes sense if frozenBoundary=false Returns a mutable pointer to a member variable of class MR::RemeshSettings named maxBdShift.
Calls MR_RemeshSettings_GetMutable_maxBdShift(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::max_edge_splits | ( | ) | const -> &core::ffi::c_int |
Maximum number of edge splits allowed during subdivision Returns a pointer to a member variable of class MR::RemeshSettings named maxEdgeSplits.
Calls MR_RemeshSettings_Get_maxEdgeSplits(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::max_edge_splits_mut | ( | ) | -> &mut core::ffi::c_int |
Maximum number of edge splits allowed during subdivision Returns a mutable pointer to a member variable of class MR::RemeshSettings named maxEdgeSplits.
Calls MR_RemeshSettings_GetMutable_maxEdgeSplits(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::max_splittable_tri_aspect_ratio | ( | ) | const -> &f32 |
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 Returns a pointer to a member variable of class MR::RemeshSettings named maxSplittableTriAspectRatio.
Calls MR_RemeshSettings_Get_maxSplittableTriAspectRatio(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::max_splittable_tri_aspect_ratio_mut | ( | ) | -> &mut f32 |
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 Returns a mutable pointer to a member variable of class MR::RemeshSettings named maxSplittableTriAspectRatio.
Calls MR_RemeshSettings_GetMutable_maxSplittableTriAspectRatio(). The reference to this object might be preserved as the return value.
|
static |
Constructs an empty (default-constructed) instance.
Calls MR_RemeshSettings_DefaultConstruct().
| auto meshlib::RemeshSettings::not_flippable | ( | ) | const -> *const *mut meshlib::ffi::MR_UndirectedEdgeBitSet |
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 Returns a pointer to a member variable of class MR::RemeshSettings named notFlippable.
Calls MR_RemeshSettings_Get_notFlippable(). Some types are raw C types, see the C bindings for the details. The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::not_flippable_mut | ( | ) | -> *mut *mut meshlib::ffi::MR_UndirectedEdgeBitSet |
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 Returns a mutable pointer to a member variable of class MR::RemeshSettings named notFlippable.
Calls MR_RemeshSettings_GetMutable_notFlippable(). Some types are raw C types, see the C bindings for the details. The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::on_edge_del | ( | ) | const -> &meshlib::std_function_void_from_MR_EdgeId_MR_EdgeId |
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 Returns a pointer to a member variable of class MR::RemeshSettings named onEdgeDel.
Calls MR_RemeshSettings_Get_onEdgeDel(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::on_edge_del_mut | ( | ) | -> &mut meshlib::std_function_void_from_MR_EdgeId_MR_EdgeId |
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 Returns a mutable pointer to a member variable of class MR::RemeshSettings named onEdgeDel.
Calls MR_RemeshSettings_GetMutable_onEdgeDel(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::on_edge_split | ( | ) | const -> &meshlib::std_function_void_from_MR_EdgeId_MR_EdgeId |
this function is called each time edge (e) is split into (e1->e), but before the ring is made Delone Returns a pointer to a member variable of class MR::RemeshSettings named onEdgeSplit.
Calls MR_RemeshSettings_Get_onEdgeSplit(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::on_edge_split_mut | ( | ) | -> &mut meshlib::std_function_void_from_MR_EdgeId_MR_EdgeId |
this function is called each time edge (e) is split into (e1->e), but before the ring is made Delone Returns a mutable pointer to a member variable of class MR::RemeshSettings named onEdgeSplit.
Calls MR_RemeshSettings_GetMutable_onEdgeSplit(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::pack_mesh | ( | ) | const -> &bool |
whether to pack mesh at the end Returns a pointer to a member variable of class MR::RemeshSettings named packMesh.
Calls MR_RemeshSettings_Get_packMesh(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::pack_mesh_mut | ( | ) | -> &mut bool |
whether to pack mesh at the end Returns a mutable pointer to a member variable of class MR::RemeshSettings named packMesh.
Calls MR_RemeshSettings_GetMutable_packMesh(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::pre_collapse | ( | ) | const -> &meshlib::std_function_bool_from_MR_EdgeId_const_MR_Vector3f_ref |
The user can provide this optional callback that is invoked immediately before edge collapse;.
It receives the edge being collapsed: its destination vertex will disappear, and its origin vertex will get new position (provided as the second argument) after collapse; If the callback returns false, then the collapse is prohibited
Returns a pointer to a member variable of class MR::RemeshSettings named preCollapse.
Calls MR_RemeshSettings_Get_preCollapse(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::pre_collapse_mut | ( | ) | -> &mut meshlib::std_function_bool_from_MR_EdgeId_const_MR_Vector3f_ref |
The user can provide this optional callback that is invoked immediately before edge collapse;.
It receives the edge being collapsed: its destination vertex will disappear, and its origin vertex will get new position (provided as the second argument) after collapse; If the callback returns false, then the collapse is prohibited
Returns a mutable pointer to a member variable of class MR::RemeshSettings named preCollapse.
Calls MR_RemeshSettings_GetMutable_preCollapse(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::progress_callback | ( | ) | const -> &meshlib::std_function_bool_from_float |
callback to report algorithm progress and cancel it by user request Returns a pointer to a member variable of class MR::RemeshSettings named progressCallback.
Calls MR_RemeshSettings_Get_progressCallback(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::progress_callback_mut | ( | ) | -> &mut meshlib::std_function_bool_from_float |
callback to report algorithm progress and cancel it by user request Returns a mutable pointer to a member variable of class MR::RemeshSettings named progressCallback.
Calls MR_RemeshSettings_GetMutable_progressCallback(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::project_on_original_mesh | ( | ) | const -> &bool |
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 Returns a pointer to a member variable of class MR::RemeshSettings named projectOnOriginalMesh.
Calls MR_RemeshSettings_Get_projectOnOriginalMesh(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::project_on_original_mesh_mut | ( | ) | -> &mut bool |
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 Returns a mutable pointer to a member variable of class MR::RemeshSettings named projectOnOriginalMesh.
Calls MR_RemeshSettings_GetMutable_projectOnOriginalMesh(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::region | ( | ) | const -> *const *mut meshlib::ffi::MR_FaceBitSet |
Region on mesh to be changed, it is updated during the operation Returns a pointer to a member variable of class MR::RemeshSettings named region.
Calls MR_RemeshSettings_Get_region(). Some types are raw C types, see the C bindings for the details. The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::region_mut | ( | ) | -> *mut *mut meshlib::ffi::MR_FaceBitSet |
Region on mesh to be changed, it is updated during the operation Returns a mutable pointer to a member variable of class MR::RemeshSettings named region.
Calls MR_RemeshSettings_GetMutable_region(). Some types are raw C types, see the C bindings for the details. The reference to this object might be preserved as the return value.
| void meshlib::RemeshSettings::set_final_relax_iters | ( | value:core::ffi::c_int | ) |
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 Modifies a member variable of class MR::RemeshSettings named finalRelaxIters.
Calls MR_RemeshSettings_Set_finalRelaxIters().
| void meshlib::RemeshSettings::set_final_relax_no_shrinkage | ( | value:bool | ) |
if true prevents the surface from shrinkage after many iterations Modifies a member variable of class MR::RemeshSettings named finalRelaxNoShrinkage.
Calls MR_RemeshSettings_Set_finalRelaxNoShrinkage().
| void meshlib::RemeshSettings::set_frozen_boundary | ( | value:bool | ) |
Allows or prohibits splitting and/or collapse boundary edges it recommended to keep default value here for better quality Modifies a member variable of class MR::RemeshSettings named frozenBoundary.
Calls MR_RemeshSettings_Set_frozenBoundary().
| void meshlib::RemeshSettings::set_max_angle_change_after_flip | ( | value:f32 | ) |
Improves local mesh triangulation by doing edge flips if it does not change dihedral angle more than on this value Modifies a member variable of class MR::RemeshSettings named maxAngleChangeAfterFlip.
Calls MR_RemeshSettings_Set_maxAngleChangeAfterFlip().
| void meshlib::RemeshSettings::set_max_bd_shift | ( | value:f32 | ) |
Maximal shift of a boundary during one edge collapse only makes sense if frozenBoundary=false Modifies a member variable of class MR::RemeshSettings named maxBdShift.
Calls MR_RemeshSettings_Set_maxBdShift().
| void meshlib::RemeshSettings::set_max_edge_splits | ( | value:core::ffi::c_int | ) |
Maximum number of edge splits allowed during subdivision Modifies a member variable of class MR::RemeshSettings named maxEdgeSplits.
Calls MR_RemeshSettings_Set_maxEdgeSplits().
| void meshlib::RemeshSettings::set_max_splittable_tri_aspect_ratio | ( | value:f32 | ) |
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 Modifies a member variable of class MR::RemeshSettings named maxSplittableTriAspectRatio.
Calls MR_RemeshSettings_Set_maxSplittableTriAspectRatio().
| void meshlib::RemeshSettings::set_not_flippable | ( | value:Option<&mut meshlib::UndirectedEdgeBitSet > | ) |
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 Modifies a member variable of class MR::RemeshSettings named notFlippable.
Calls MR_RemeshSettings_Set_notFlippable(). The reference to the parameter value might be preserved in this object in element notFlippable.
| void meshlib::RemeshSettings::set_on_edge_del | ( | value:&meshlib::std_function_void_from_MR_EdgeId_MR_EdgeId | ) |
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 Modifies a member variable of class MR::RemeshSettings named onEdgeDel.
Calls MR_RemeshSettings_Set_onEdgeDel(). The reference to the parameter value might be preserved in this object in element onEdgeDel.
| void meshlib::RemeshSettings::set_on_edge_split | ( | value:&meshlib::std_function_void_from_MR_EdgeId_MR_EdgeId | ) |
this function is called each time edge (e) is split into (e1->e), but before the ring is made Delone Modifies a member variable of class MR::RemeshSettings named onEdgeSplit.
Calls MR_RemeshSettings_Set_onEdgeSplit(). The reference to the parameter value might be preserved in this object in element onEdgeSplit.
| void meshlib::RemeshSettings::set_pack_mesh | ( | value:bool | ) |
whether to pack mesh at the end Modifies a member variable of class MR::RemeshSettings named packMesh.
Calls MR_RemeshSettings_Set_packMesh().
| void meshlib::RemeshSettings::set_pre_collapse | ( | value:&meshlib::std_function_bool_from_MR_EdgeId_const_MR_Vector3f_ref | ) |
The user can provide this optional callback that is invoked immediately before edge collapse;.
It receives the edge being collapsed: its destination vertex will disappear, and its origin vertex will get new position (provided as the second argument) after collapse; If the callback returns false, then the collapse is prohibited
Modifies a member variable of class MR::RemeshSettings named preCollapse.
Calls MR_RemeshSettings_Set_preCollapse(). The reference to the parameter value might be preserved in this object in element preCollapse.
| void meshlib::RemeshSettings::set_progress_callback | ( | value:&meshlib::std_function_bool_from_float | ) |
callback to report algorithm progress and cancel it by user request Modifies a member variable of class MR::RemeshSettings named progressCallback.
Calls MR_RemeshSettings_Set_progressCallback(). The reference to the parameter value might be preserved in this object in element progressCallback.
| void meshlib::RemeshSettings::set_project_on_original_mesh | ( | value:bool | ) |
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 Modifies a member variable of class MR::RemeshSettings named projectOnOriginalMesh.
Calls MR_RemeshSettings_Set_projectOnOriginalMesh().
| void meshlib::RemeshSettings::set_region | ( | value:Option<&mut meshlib::FaceBitSet > | ) |
Region on mesh to be changed, it is updated during the operation Modifies a member variable of class MR::RemeshSettings named region.
Calls MR_RemeshSettings_Set_region(). The reference to the parameter value might be preserved in this object in element region.
| void meshlib::RemeshSettings::set_target_edge_len | ( | value:f32 | ) |
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 Modifies a member variable of class MR::RemeshSettings named targetEdgeLen.
Calls MR_RemeshSettings_Set_targetEdgeLen().
| void meshlib::RemeshSettings::set_use_curvature | ( | value:bool | ) |
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 Modifies a member variable of class MR::RemeshSettings named useCurvature.
Calls MR_RemeshSettings_Set_useCurvature().
| auto meshlib::RemeshSettings::target_edge_len | ( | ) | const -> &f32 |
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 Returns a pointer to a member variable of class MR::RemeshSettings named targetEdgeLen.
Calls MR_RemeshSettings_Get_targetEdgeLen(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::target_edge_len_mut | ( | ) | -> &mut f32 |
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 Returns a mutable pointer to a member variable of class MR::RemeshSettings named targetEdgeLen.
Calls MR_RemeshSettings_GetMutable_targetEdgeLen(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::use_curvature | ( | ) | const -> &bool |
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 Returns a pointer to a member variable of class MR::RemeshSettings named useCurvature.
Calls MR_RemeshSettings_Get_useCurvature(). The reference to this object might be preserved as the return value.
| auto meshlib::RemeshSettings::use_curvature_mut | ( | ) | -> &mut bool |
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 Returns a mutable pointer to a member variable of class MR::RemeshSettings named useCurvature.
Calls MR_RemeshSettings_GetMutable_useCurvature(). The reference to this object might be preserved as the return value.