MeshLib Rust Docs
Loading...
Searching...
No Matches
MRMeshCollide.rs File Reference

Namespaces

namespace  meshlib

Functions

auto meshlib::find_colliding_triangles (a:&meshlib::MeshPart, b:&meshlib::MeshPart, rigidB2A:Option<&meshlib::AffineXf3f >, firstIntersectionOnly:Option< bool >) -> meshlib::Owned< meshlib::std_vector_MR_FaceFace >
 finds all pairs of colliding triangles from two meshes or two mesh regions
auto meshlib::find_colliding_triangle_bitsets (a:&meshlib::MeshPart, b:&meshlib::MeshPart, rigidB2A:Option<&meshlib::AffineXf3f >) -> meshlib::Owned< meshlib::std_pair_MR_FaceBitSet_MR_FaceBitSet >
auto meshlib::find_self_colliding_triangles_out_pairs (mp:&meshlib::MeshPart, outCollidingPairs:Option<&mut meshlib::std_vector_MR_FaceFace >, cb:Option<&meshlib::std_function_bool_from_float >, regionMap:Option<&meshlib::Face2RegionMap >, touchIsIntersection:Option< bool >) -> meshlib::Owned< meshlib::expected_bool_std_string >
auto meshlib::find_self_colliding_triangles (mp:&meshlib::MeshPart, cb:Option<&meshlib::std_function_bool_from_float >, regionMap:Option<&meshlib::Face2RegionMap >, touchIsIntersection:Option< bool >) -> meshlib::Owned< meshlib::expected_std_vector_MR_FaceFace_std_string >
auto meshlib::find_self_colliding_triangles_bs (mp:&meshlib::MeshPart, cb:Option<&meshlib::std_function_bool_from_float >, regionMap:Option<&meshlib::Face2RegionMap >, touchIsIntersection:Option< bool >) -> meshlib::Owned< meshlib::expected_MR_FaceBitSet_std_string >
auto meshlib::is_inside_mr_mesh_part (a:&meshlib::MeshPart, b:&meshlib::MeshPart, rigidB2A:Option<&meshlib::AffineXf3f >) -> bool
 checks that arbitrary mesh part A is inside of closed mesh part B
auto meshlib::is_non_intersecting_inside_3 (a:&meshlib::MeshPart, b:&meshlib::MeshPart, rigidB2A:Option<&meshlib::AffineXf3f >) -> bool
 checks that arbitrary mesh part A is inside of closed mesh part B The version of isInside without collision check; it is user's responsibility to guarantee that the meshes don't collide If B is open, A is outside of B when the point of A tested projects on the boundary of B
auto meshlib::is_non_intersecting_inside_4 (a:&meshlib::Mesh, partFace:meshlib::FaceId, b:&meshlib::MeshPart, rigidB2A:Option<&meshlib::AffineXf3f >) -> bool
 checks that arbitrary mesh A part (whole part is represented by one face partFace) is inside of closed mesh part B The version of isInside without collision check; it is user's responsibility to guarantee that the meshes don't collide If B is open, A is outside of B when the point of A tested projects on the boundary of B
auto meshlib::is_non_intersecting_inside_precise (a:&meshlib::Mesh, partFace:meshlib::FaceId, b:&meshlib::MeshPart, conv:&meshlib::CoordinateConverters, aVertShift:core::ffi::c_int, bVertShift:core::ffi::c_int, xfA:Option<&meshlib::AffineXf3f >, xfB:Option<&meshlib::AffineXf3f >) -> bool
 checks that arbitrary mesh A part (whole part is represented by one face partFace) is inside of closed mesh part B The version of isNonIntersectingInside deciding by the precise orient3d predicate, which is never undefined, unlike the sign of the distance in the area where the meshes touch one another If B is open, A is outside of B when the vertex of A tested projects on the boundary of B