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

Public Member Functions

auto index (e:core::ffi::c_int) const -> &meshlib::Vector3f
auto index_mut (e:core::ffi::c_int) -> &mut meshlib::Vector3f
auto valid () const -> bool
auto center () const -> meshlib::Vector3f
auto corner (c:&meshlib::Vector3b) const -> meshlib::Vector3f
auto size () const -> meshlib::Vector3f
auto diagonal () const -> f32
auto volume () const -> f32
void include_mr_vector3f (pt:&meshlib::Vector3f)
void include_mr_box3f (b:&meshlib::Box3f)
auto contains_mr_vector3f (pt:&meshlib::Vector3f) const -> bool
auto contains_mr_box3f (otherbox:&meshlib::Box3f) const -> bool
auto get_box_closest_point_to (pt:&meshlib::Vector3f) const -> meshlib::Vector3f
auto intersects (b:&meshlib::Box3f) const -> bool
auto intersection (b:&meshlib::Box3f) const -> meshlib::Box3f
auto intersect (b:&meshlib::Box3f) -> &mut meshlib::Box3f
auto get_distance_sq_mr_box3f (b:&meshlib::Box3f) const -> f32
auto get_distance_sq_mr_vector3f (pt:&meshlib::Vector3f) const -> f32
auto get_projection (pt:&meshlib::Vector3f) const -> meshlib::Vector3f
auto expanded (expansion:&meshlib::Vector3f) const -> meshlib::Box3f
auto insignificantly_expanded () const -> meshlib::Box3f
auto op_equal (a:&meshlib::Box3f) const -> bool
auto op_not_equal (a:&meshlib::Box3f) const -> bool

Static Public Member Functions

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

Public Attributes

meshlib::Vector3f min
meshlib::Vector3f max

Detailed Description

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

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

Member Function Documentation

◆ center()

auto meshlib::Box3f::center ( ) const -> meshlib::Vector3f

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

Calls MR_Box3f_center().

◆ construct_1()

auto meshlib::Box3f::construct_1 ( _1:&meshlib::NoInit ) -> meshlib::Box3f
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::Box3f::Box3f.

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

◆ construct_2()

auto meshlib::Box3f::construct_2 ( min:&meshlib::Vector3f ,
max:&meshlib::Vector3f  ) -> meshlib::Box3f
static

Generated from constructor MR::Box3f::Box3f.

Calls MR_Box3f_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_box3f()

auto meshlib::Box3f::contains_mr_box3f ( otherbox:&meshlib::Box3f ) const -> bool

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

Calls MR_Box3f_contains_MR_Box3f().

◆ contains_mr_vector3f()

auto meshlib::Box3f::contains_mr_vector3f ( pt:&meshlib::Vector3f ) const -> bool

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

Calls MR_Box3f_contains_MR_Vector3f().

◆ corner()

auto meshlib::Box3f::corner ( c:&meshlib::Vector3b ) const -> meshlib::Vector3f

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::Box3f::corner.

Calls MR_Box3f_corner().

◆ diagonal()

auto meshlib::Box3f::diagonal ( ) const -> f32

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

Calls MR_Box3f_diagonal().

◆ elements()

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

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

Calls MR_Box3f_Get_elements().

◆ expanded()

auto meshlib::Box3f::expanded ( expansion:&meshlib::Vector3f ) const -> meshlib::Box3f

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

Calls MR_Box3f_expanded().

◆ from_min_and_size()

auto meshlib::Box3f::from_min_and_size ( min:&meshlib::Vector3f ,
size:&meshlib::Vector3f  ) -> meshlib::Box3f
static

Generated from method MR::Box3f::fromMinAndSize.

Calls MR_Box3f_fromMinAndSize().

◆ get_box_closest_point_to()

auto meshlib::Box3f::get_box_closest_point_to ( pt:&meshlib::Vector3f ) const -> meshlib::Vector3f

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

Calls MR_Box3f_getBoxClosestPointTo().

◆ get_distance_sq_mr_box3f()

auto meshlib::Box3f::get_distance_sq_mr_box3f ( b:&meshlib::Box3f ) const -> f32

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

Calls MR_Box3f_getDistanceSq_MR_Box3f().

◆ get_distance_sq_mr_vector3f()

auto meshlib::Box3f::get_distance_sq_mr_vector3f ( pt:&meshlib::Vector3f ) const -> f32

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::Box3f::getDistanceSq.

Calls MR_Box3f_getDistanceSq_MR_Vector3f().

◆ get_max_box_corner()

auto meshlib::Box3f::get_max_box_corner ( n:&meshlib::Vector3f ) -> 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::Box3f::getMaxBoxCorner.

Calls MR_Box3f_getMaxBoxCorner().

◆ get_min_box_corner()

auto meshlib::Box3f::get_min_box_corner ( n:&meshlib::Vector3f ) -> 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::Box3f::getMinBoxCorner.

Calls MR_Box3f_getMinBoxCorner().

◆ get_projection()

auto meshlib::Box3f::get_projection ( pt:&meshlib::Vector3f ) const -> meshlib::Vector3f

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::Box3f::getProjection.

Calls MR_Box3f_getProjection().

◆ include_mr_box3f()

void meshlib::Box3f::include_mr_box3f ( b:&meshlib::Box3f )

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

Calls MR_Box3f_include_MR_Box3f().

◆ include_mr_vector3f()

void meshlib::Box3f::include_mr_vector3f ( pt:&meshlib::Vector3f )

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

Calls MR_Box3f_include_MR_Vector3f().

◆ index()

auto meshlib::Box3f::index ( e:core::ffi::c_int ) const -> &meshlib::Vector3f

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

Calls MR_Box3f_index().

◆ index_mut()

auto meshlib::Box3f::index_mut ( e:core::ffi::c_int ) -> &mut meshlib::Vector3f

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

Calls MR_Box3f_index_mut().

◆ insignificantly_expanded()

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

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

Calls MR_Box3f_insignificantlyExpanded().

◆ intersect()

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

Generated from method MR::Box3f::intersect.

Calls MR_Box3f_intersect().

◆ intersection()

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

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

Calls MR_Box3f_intersection().

◆ intersects()

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

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

Calls MR_Box3f_intersects().

◆ new()

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

create invalid box by default

Calls MR_Box3f_DefaultConstruct().

◆ op_equal()

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

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

Calls MR_equal_MR_Box3f().

◆ op_not_equal()

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

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

Calls MR_not_equal_MR_Box3f().

◆ size()

auto meshlib::Box3f::size ( ) const -> meshlib::Vector3f

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

Calls MR_Box3f_size().

◆ valid()

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

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

Calls MR_Box3f_valid().

◆ volume()

auto meshlib::Box3f::volume ( ) const -> f32

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

Calls MR_Box3f_volume().

Member Data Documentation

◆ max

meshlib::Vector3f meshlib::Box3f::max

◆ min

meshlib::Vector3f meshlib::Box3f::min

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