MeshLib Rust Docs
Loading...
Searching...
No Matches
meshlib::point_cloud_components Namespace Reference

Functions

auto get_large_components_union_mr_point_cloud (pointCloud:&meshlib::PointCloud, maxDist:f32, minSize:core::ffi::c_int, pc:Option<&meshlib::std_function_bool_from_float >) -> meshlib::Owned< meshlib::expected_MR_VertBitSet_std_string >
auto get_large_components_union_mr_union_find_mr_vert_id (unionStructs:&mut meshlib::UnionFind_MR_VertId, region:&meshlib::VertBitSet, minSize:core::ffi::c_int, pc:Option<&meshlib::std_function_bool_from_float >) -> meshlib::Owned< meshlib::expected_MR_VertBitSet_std_string >
auto get_large_components (pointCloud:&meshlib::PointCloud, maxDist:f32, minSize:core::ffi::c_int, pc:Option<&meshlib::std_function_bool_from_float >) -> meshlib::Owned< meshlib::expected_std_vector_MR_VertBitSet_std_string >
auto get_all_components (pointCloud:&meshlib::PointCloud, maxDist:f32, maxComponentCount:Option< core::ffi::c_int >, pc:Option<&meshlib::std_function_bool_from_float >) -> meshlib::Owned< meshlib::expected_std_pair_std_vector_MR_VertBitSet_int_std_string >
auto get_union_find_structure_verts (pointCloud:&meshlib::PointCloud, maxDist:f32, region:Option<&meshlib::VertBitSet >, pc:Option<&meshlib::std_function_bool_from_float >) -> meshlib::Owned< meshlib::expected_MR_UnionFind_MR_VertId_std_string >

Function Documentation

◆ get_all_components()

auto meshlib::point_cloud_components::get_all_components ( pointCloud:&meshlib::PointCloud ,
maxDist:f32 ,
maxComponentCount:Option< core::ffi::c_int > ,
pc:Option<&meshlib::std_function_bool_from_float >  ) -> meshlib::Owned< meshlib::expected_std_pair_std_vector_MR_VertBitSet_int_std_string >

gets all components of point cloud connected by a distance no greater than

Parameters
maxDist

if components number more than the maxComponentCount, they will be combined into groups of the same size

Note
be careful, if point cloud is large enough and has many components, the memory overflow will occur
Parameters
maxComponentCountshould be more than 1
Returns
pair components bitsets vector and number components in one group if components number more than maxComponentCount Generated from function MR::PointCloudComponents::getAllComponents.

Calls MR_PointCloudComponents_getAllComponents().

◆ get_large_components()

auto meshlib::point_cloud_components::get_large_components ( pointCloud:&meshlib::PointCloud ,
maxDist:f32 ,
minSize:core::ffi::c_int ,
pc:Option<&meshlib::std_function_bool_from_float >  ) -> meshlib::Owned< meshlib::expected_std_vector_MR_VertBitSet_std_string >

returns vector of point cloud components containing at least minSize points and connected by a distance no greater than

Parameters
maxDist
minSizemust be more than 1 Generated from function MR::PointCloudComponents::getLargeComponents.

Calls MR_PointCloudComponents_getLargeComponents().

◆ get_large_components_union_mr_point_cloud()

auto meshlib::point_cloud_components::get_large_components_union_mr_point_cloud ( pointCloud:&meshlib::PointCloud ,
maxDist:f32 ,
minSize:core::ffi::c_int ,
pc:Option<&meshlib::std_function_bool_from_float >  ) -> meshlib::Owned< meshlib::expected_MR_VertBitSet_std_string >

returns the union of point cloud components containing at least minSize points and connected by a distance no greater than

Parameters
maxDist
minSizemust be more than 1 Generated from function MR::PointCloudComponents::getLargeComponentsUnion.

Calls MR_PointCloudComponents_getLargeComponentsUnion_MR_PointCloud().

◆ get_large_components_union_mr_union_find_mr_vert_id()

auto meshlib::point_cloud_components::get_large_components_union_mr_union_find_mr_vert_id ( unionStructs:&mut meshlib::UnionFind_MR_VertId ,
region:&meshlib::VertBitSet ,
minSize:core::ffi::c_int ,
pc:Option<&meshlib::std_function_bool_from_float >  ) -> meshlib::Owned< meshlib::expected_MR_VertBitSet_std_string >

returns the union of vertices components containing at least minSize points

Parameters
unionStructsprepared point union structure
Note
have side effect: call unionStructs.roots() that change unionStructs Generated from function MR::PointCloudComponents::getLargeComponentsUnion.

Calls MR_PointCloudComponents_getLargeComponentsUnion_MR_UnionFind_MR_VertId().

◆ get_union_find_structure_verts()

auto meshlib::point_cloud_components::get_union_find_structure_verts ( pointCloud:&meshlib::PointCloud ,
maxDist:f32 ,
region:Option<&meshlib::VertBitSet > ,
pc:Option<&meshlib::std_function_bool_from_float >  ) -> meshlib::Owned< meshlib::expected_MR_UnionFind_MR_VertId_std_string >

gets union - find structure for vertices in

Parameters
regionconnected by a distance no greater than
maxDistGenerated from function MR::PointCloudComponents::getUnionFindStructureVerts.

Calls MR_PointCloudComponents_getUnionFindStructureVerts().