MeshLib Rust Docs
Loading...
Searching...
No Matches
Inheritance diagram for meshlib::Box3d:

Public Member Functions

auto index (e:core::ffi::c_int) const -> &meshlib::Vector3d
auto index_mut (e:core::ffi::c_int) -> &mut meshlib::Vector3d
auto valid () const -> bool
auto center () const -> meshlib::Vector3d
auto corner (c:&meshlib::Vector3b) const -> meshlib::Vector3d
auto size () const -> meshlib::Vector3d
auto diagonal () const -> f64
auto volume () const -> f64
void include_mr_vector3d (pt:&meshlib::Vector3d)
void include_mr_box3d (b:&meshlib::Box3d)
auto contains_mr_vector3d (pt:&meshlib::Vector3d) const -> bool
auto contains_mr_box3d (otherbox:&meshlib::Box3d) const -> bool
auto get_box_closest_point_to (pt:&meshlib::Vector3d) const -> meshlib::Vector3d
auto intersects (b:&meshlib::Box3d) const -> bool
auto intersection (b:&meshlib::Box3d) const -> meshlib::Box3d
auto intersect (b:&meshlib::Box3d) -> &mut meshlib::Box3d
auto get_distance_sq_mr_box3d (b:&meshlib::Box3d) const -> f64
auto get_distance_sq_mr_vector3d (pt:&meshlib::Vector3d) const -> f64
auto get_projection (pt:&meshlib::Vector3d) const -> meshlib::Vector3d
auto expanded (expansion:&meshlib::Vector3d) const -> meshlib::Box3d
auto insignificantly_expanded () const -> meshlib::Box3d
auto op_equal (a:&meshlib::Box3d) const -> bool
auto op_not_equal (a:&meshlib::Box3d) const -> bool

Static Public Member Functions

static auto new () -> meshlib::Box3d
static auto construct_2 (min:&meshlib::Vector3d, max:&meshlib::Vector3d) -> meshlib::Box3d
static auto construct_1 (_1:&meshlib::NoInit) -> meshlib::Box3d
static auto from_min_and_size (min:&meshlib::Vector3d, size:&meshlib::Vector3d) -> meshlib::Box3d
static auto get_min_box_corner (n:&meshlib::Vector3d) -> meshlib::Vector3b
static auto get_max_box_corner (n:&meshlib::Vector3d) -> meshlib::Vector3b
static auto elements () -> *const core::ffi::c_int

Public Attributes

meshlib::Vector3d min
meshlib::Vector3d max

Detailed Description

Box given by its min- and max- corners Generated from class MR::Box3d.

Generated from struct MR::Box3d. The fields are accessed directly.

Member Function Documentation

◆ center()

auto meshlib::Box3d::center ( ) const -> meshlib::Vector3d

computes center of the box Generated from method MR::Box3d::center.

Calls MR_Box3d_center().

◆ construct_1()

auto meshlib::Box3d::construct_1 ( _1:&meshlib::NoInit ) -> meshlib::Box3d
static

If the compiler supports requires, use that instead of std::enable_if here. Not (only) because it looks cooler, but because of a bug in our binding generator that makes it choke on it: https://github.com/MeshInspector/mrbind/issues/19 Generated from constructor MR::Box3d::Box3d.

Calls MR_Box3d_Construct_1(). The reference to the parameter _1 might be preserved in the constructed object.

◆ construct_2()

auto meshlib::Box3d::construct_2 ( min:&meshlib::Vector3d ,
max:&meshlib::Vector3d  ) -> meshlib::Box3d
static

Generated from constructor MR::Box3d::Box3d.

Calls MR_Box3d_Construct_2(). The reference to the parameter min might be preserved in the constructed object. The reference to the parameter max might be preserved in the constructed object.

◆ contains_mr_box3d()

auto meshlib::Box3d::contains_mr_box3d ( otherbox:&meshlib::Box3d ) const -> bool

checks whether given box is fully inside (the surfaces may touch) of this box Generated from method MR::Box3d::contains.

Calls MR_Box3d_contains_MR_Box3d().

◆ contains_mr_vector3d()

auto meshlib::Box3d::contains_mr_vector3d ( pt:&meshlib::Vector3d ) const -> bool

checks whether given point is inside (including the surface) of this box Generated from method MR::Box3d::contains.

Calls MR_Box3d_contains_MR_Vector3d().

◆ corner()

auto meshlib::Box3d::corner ( c:&meshlib::Vector3b ) const -> meshlib::Vector3d

returns the corner of this box as specified by given bool-vector: 0 element in (c) means take min's coordinate, 1 element in (c) means take max's coordinate Generated from method MR::Box3d::corner.

Calls MR_Box3d_corner().

◆ diagonal()

auto meshlib::Box3d::diagonal ( ) const -> f64

computes length from min to max Generated from method MR::Box3d::diagonal.

Calls MR_Box3d_diagonal().

◆ elements()

auto meshlib::Box3d::elements ( ) -> *const core::ffi::c_int
static

Returns a pointer to a member variable of class MR::Box3d named elements.

Calls MR_Box3d_Get_elements().

◆ expanded()

auto meshlib::Box3d::expanded ( expansion:&meshlib::Vector3d ) const -> meshlib::Box3d

decreases min and increased max on given value Generated from method MR::Box3d::expanded.

Calls MR_Box3d_expanded().

◆ from_min_and_size()

auto meshlib::Box3d::from_min_and_size ( min:&meshlib::Vector3d ,
size:&meshlib::Vector3d  ) -> meshlib::Box3d
static

Generated from method MR::Box3d::fromMinAndSize.

Calls MR_Box3d_fromMinAndSize().

◆ get_box_closest_point_to()

auto meshlib::Box3d::get_box_closest_point_to ( pt:&meshlib::Vector3d ) const -> meshlib::Vector3d

returns closest point in the box to given point Generated from method MR::Box3d::getBoxClosestPointTo.

Calls MR_Box3d_getBoxClosestPointTo().

◆ get_distance_sq_mr_box3d()

auto meshlib::Box3d::get_distance_sq_mr_box3d ( b:&meshlib::Box3d ) const -> f64

returns squared distance between this box and given one; returns zero if the boxes touch or intersect Generated from method MR::Box3d::getDistanceSq.

Calls MR_Box3d_getDistanceSq_MR_Box3d().

◆ get_distance_sq_mr_vector3d()

auto meshlib::Box3d::get_distance_sq_mr_vector3d ( pt:&meshlib::Vector3d ) const -> f64

returns squared distance between this box and given point; returns zero if the point is inside or on the boundary of the box Generated from method MR::Box3d::getDistanceSq.

Calls MR_Box3d_getDistanceSq_MR_Vector3d().

◆ get_max_box_corner()

auto meshlib::Box3d::get_max_box_corner ( n:&meshlib::Vector3d ) -> meshlib::Vector3b
static

considering all planes with given normal and arbitrary shift: dot(n,x) = d finds the box's corner for which d is maximal Generated from method MR::Box3d::getMaxBoxCorner.

Calls MR_Box3d_getMaxBoxCorner().

◆ get_min_box_corner()

auto meshlib::Box3d::get_min_box_corner ( n:&meshlib::Vector3d ) -> meshlib::Vector3b
static

considering all planes with given normal and arbitrary shift: dot(n,x) = d finds the box's corner for which d is minimal Generated from method MR::Box3d::getMinBoxCorner.

Calls MR_Box3d_getMinBoxCorner().

◆ get_projection()

auto meshlib::Box3d::get_projection ( pt:&meshlib::Vector3d ) const -> meshlib::Vector3d

returns the closest point on the box to the given point for points outside the box this is equivalent to getBoxClosestPointTo Generated from method MR::Box3d::getProjection.

Calls MR_Box3d_getProjection().

◆ include_mr_box3d()

void meshlib::Box3d::include_mr_box3d ( b:&meshlib::Box3d )

minimally increases the box to include another box Generated from method MR::Box3d::include.

Calls MR_Box3d_include_MR_Box3d().

◆ include_mr_vector3d()

void meshlib::Box3d::include_mr_vector3d ( pt:&meshlib::Vector3d )

minimally increases the box to include given point Generated from method MR::Box3d::include.

Calls MR_Box3d_include_MR_Vector3d().

◆ index()

auto meshlib::Box3d::index ( e:core::ffi::c_int ) const -> &meshlib::Vector3d

min/max access by 0/1 index Generated from method MR::Box3d::operator[].

Calls MR_Box3d_index().

◆ index_mut()

auto meshlib::Box3d::index_mut ( e:core::ffi::c_int ) -> &mut meshlib::Vector3d

Generated from method MR::Box3d::operator[].

Calls MR_Box3d_index_mut().

◆ insignificantly_expanded()

auto meshlib::Box3d::insignificantly_expanded ( ) const -> meshlib::Box3d

decreases min and increases max to their closest representable value Generated from method MR::Box3d::insignificantlyExpanded.

Calls MR_Box3d_insignificantlyExpanded().

◆ intersect()

auto meshlib::Box3d::intersect ( b:&meshlib::Box3d ) -> &mut meshlib::Box3d

Generated from method MR::Box3d::intersect.

Calls MR_Box3d_intersect().

◆ intersection()

auto meshlib::Box3d::intersection ( b:&meshlib::Box3d ) const -> meshlib::Box3d

computes intersection between this and other box Generated from method MR::Box3d::intersection.

Calls MR_Box3d_intersection().

◆ intersects()

auto meshlib::Box3d::intersects ( b:&meshlib::Box3d ) const -> bool

checks whether this box intersects or touches given box Generated from method MR::Box3d::intersects.

Calls MR_Box3d_intersects().

◆ new()

auto meshlib::Box3d::new ( ) -> meshlib::Box3d
static

create invalid box by default

Calls MR_Box3d_DefaultConstruct().

◆ op_equal()

auto meshlib::Box3d::op_equal ( a:&meshlib::Box3d ) const -> bool

Generated from method MR::Box3d::operator==.

Calls MR_equal_MR_Box3d().

◆ op_not_equal()

auto meshlib::Box3d::op_not_equal ( a:&meshlib::Box3d ) const -> bool

Generated from method MR::Box3d::operator!=.

Calls MR_not_equal_MR_Box3d().

◆ size()

auto meshlib::Box3d::size ( ) const -> meshlib::Vector3d

computes size of the box in all dimensions Generated from method MR::Box3d::size.

Calls MR_Box3d_size().

◆ valid()

auto meshlib::Box3d::valid ( ) const -> bool

true if the box contains at least one point Generated from method MR::Box3d::valid.

Calls MR_Box3d_valid().

◆ volume()

auto meshlib::Box3d::volume ( ) const -> f64

computes the volume of this box Generated from method MR::Box3d::volume.

Calls MR_Box3d_volume().

Member Data Documentation

◆ max

meshlib::Vector3d meshlib::Box3d::max

◆ min

meshlib::Vector3d meshlib::Box3d::min

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