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

Public Member Functions

auto index (e:core::ffi::c_int) const -> &meshlib::Vector2i
auto index_mut (e:core::ffi::c_int) -> &mut meshlib::Vector2i
auto valid () const -> bool
auto center () const -> meshlib::Vector2i
auto corner (c:&meshlib::Vector2b) const -> meshlib::Vector2i
auto size () const -> meshlib::Vector2i
auto diagonal () const -> core::ffi::c_int
auto volume () const -> core::ffi::c_int
void include_mr_vector2i (pt:&meshlib::Vector2i)
void include_mr_box2i (b:&meshlib::Box2i)
auto contains_mr_vector2i (pt:&meshlib::Vector2i) const -> bool
auto contains_mr_box2i (otherbox:&meshlib::Box2i) const -> bool
auto get_box_closest_point_to (pt:&meshlib::Vector2i) const -> meshlib::Vector2i
auto intersects (b:&meshlib::Box2i) const -> bool
auto intersection (b:&meshlib::Box2i) const -> meshlib::Box2i
auto intersect (b:&meshlib::Box2i) -> &mut meshlib::Box2i
auto get_distance_sq_mr_box2i (b:&meshlib::Box2i) const -> core::ffi::c_int
auto get_distance_sq_mr_vector2i (pt:&meshlib::Vector2i) const -> core::ffi::c_int
auto get_projection (pt:&meshlib::Vector2i) const -> meshlib::Vector2i
auto expanded (expansion:&meshlib::Vector2i) const -> meshlib::Box2i
auto insignificantly_expanded () const -> meshlib::Box2i
auto op_equal (a:&meshlib::Box2i) const -> bool
auto op_not_equal (a:&meshlib::Box2i) const -> bool

Static Public Member Functions

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

Public Attributes

meshlib::Vector2i min
meshlib::Vector2i max

Detailed Description

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

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

Member Function Documentation

◆ center()

auto meshlib::Box2i::center ( ) const -> meshlib::Vector2i

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

Calls MR_Box2i_center().

◆ construct_1()

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

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

◆ construct_2()

auto meshlib::Box2i::construct_2 ( min:&meshlib::Vector2i ,
max:&meshlib::Vector2i  ) -> meshlib::Box2i
static

Generated from constructor MR::Box2i::Box2i.

Calls MR_Box2i_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_box2i()

auto meshlib::Box2i::contains_mr_box2i ( otherbox:&meshlib::Box2i ) const -> bool

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

Calls MR_Box2i_contains_MR_Box2i().

◆ contains_mr_vector2i()

auto meshlib::Box2i::contains_mr_vector2i ( pt:&meshlib::Vector2i ) const -> bool

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

Calls MR_Box2i_contains_MR_Vector2i().

◆ corner()

auto meshlib::Box2i::corner ( c:&meshlib::Vector2b ) const -> meshlib::Vector2i

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

Calls MR_Box2i_corner().

◆ diagonal()

auto meshlib::Box2i::diagonal ( ) const -> core::ffi::c_int

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

Calls MR_Box2i_diagonal().

◆ elements()

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

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

Calls MR_Box2i_Get_elements().

◆ expanded()

auto meshlib::Box2i::expanded ( expansion:&meshlib::Vector2i ) const -> meshlib::Box2i

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

Calls MR_Box2i_expanded().

◆ from_min_and_size()

auto meshlib::Box2i::from_min_and_size ( min:&meshlib::Vector2i ,
size:&meshlib::Vector2i  ) -> meshlib::Box2i
static

Generated from method MR::Box2i::fromMinAndSize.

Calls MR_Box2i_fromMinAndSize().

◆ get_box_closest_point_to()

auto meshlib::Box2i::get_box_closest_point_to ( pt:&meshlib::Vector2i ) const -> meshlib::Vector2i

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

Calls MR_Box2i_getBoxClosestPointTo().

◆ get_distance_sq_mr_box2i()

auto meshlib::Box2i::get_distance_sq_mr_box2i ( b:&meshlib::Box2i ) const -> core::ffi::c_int

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

Calls MR_Box2i_getDistanceSq_MR_Box2i().

◆ get_distance_sq_mr_vector2i()

auto meshlib::Box2i::get_distance_sq_mr_vector2i ( pt:&meshlib::Vector2i ) const -> core::ffi::c_int

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

Calls MR_Box2i_getDistanceSq_MR_Vector2i().

◆ get_max_box_corner()

auto meshlib::Box2i::get_max_box_corner ( n:&meshlib::Vector2i ) -> meshlib::Vector2b
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::Box2i::getMaxBoxCorner.

Calls MR_Box2i_getMaxBoxCorner().

◆ get_min_box_corner()

auto meshlib::Box2i::get_min_box_corner ( n:&meshlib::Vector2i ) -> meshlib::Vector2b
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::Box2i::getMinBoxCorner.

Calls MR_Box2i_getMinBoxCorner().

◆ get_projection()

auto meshlib::Box2i::get_projection ( pt:&meshlib::Vector2i ) const -> meshlib::Vector2i

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

Calls MR_Box2i_getProjection().

◆ include_mr_box2i()

void meshlib::Box2i::include_mr_box2i ( b:&meshlib::Box2i )

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

Calls MR_Box2i_include_MR_Box2i().

◆ include_mr_vector2i()

void meshlib::Box2i::include_mr_vector2i ( pt:&meshlib::Vector2i )

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

Calls MR_Box2i_include_MR_Vector2i().

◆ index()

auto meshlib::Box2i::index ( e:core::ffi::c_int ) const -> &meshlib::Vector2i

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

Calls MR_Box2i_index().

◆ index_mut()

auto meshlib::Box2i::index_mut ( e:core::ffi::c_int ) -> &mut meshlib::Vector2i

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

Calls MR_Box2i_index_mut().

◆ insignificantly_expanded()

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

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

Calls MR_Box2i_insignificantlyExpanded().

◆ intersect()

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

Generated from method MR::Box2i::intersect.

Calls MR_Box2i_intersect().

◆ intersection()

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

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

Calls MR_Box2i_intersection().

◆ intersects()

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

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

Calls MR_Box2i_intersects().

◆ new()

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

create invalid box by default

Calls MR_Box2i_DefaultConstruct().

◆ op_equal()

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

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

Calls MR_equal_MR_Box2i().

◆ op_not_equal()

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

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

Calls MR_not_equal_MR_Box2i().

◆ size()

auto meshlib::Box2i::size ( ) const -> meshlib::Vector2i

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

Calls MR_Box2i_size().

◆ valid()

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

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

Calls MR_Box2i_valid().

◆ volume()

auto meshlib::Box2i::volume ( ) const -> core::ffi::c_int

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

Calls MR_Box2i_volume().

Member Data Documentation

◆ max

meshlib::Vector2i meshlib::Box2i::max

◆ min

meshlib::Vector2i meshlib::Box2i::min

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