|
Blender V4.3
|
Functions | |
| template<typename T> | |
| Bounds< T > | merge (const Bounds< T > &a, const Bounds< T > &b) |
| template<typename T> | |
| std::optional< Bounds< T > > | merge (const std::optional< Bounds< T > > &a, const std::optional< Bounds< T > > &b) |
| template<typename T> | |
| std::optional< Bounds< T > > | min_max (const std::optional< Bounds< T > > &a, const T &b) |
| template<typename T> | |
| std::optional< Bounds< T > > | min_max (const Span< T > values) |
| template<typename T> | |
| std::optional< Bounds< T > > | min_max (const IndexMask &mask, const Span< T > values) |
| template<typename T, typename RadiusT> | |
| std::optional< Bounds< T > > | min_max_with_radii (const Span< T > values, const Span< RadiusT > radii) |
| template<typename T> | |
| std::optional< Bounds< T > > | intersect (const std::optional< Bounds< T > > &a, const std::optional< Bounds< T > > &b) |
|
inlinenodiscard |
Returns a new bound that contains the intersection of the two given bound. Returns no box if there are no overlap.
Definition at line 135 of file BLI_bounds.hh.
References b, blender::math::max(), blender::math::min(), and result.
Referenced by blender::eevee::VolumeLayer::bounds_overlaps().
|
inlinenodiscard |
Definition at line 24 of file BLI_bounds.hh.
Referenced by blender::eevee::VolumeLayer::add_object_bound(), BKE_pbvh_redraw_BB(), BKE_volume_min_max(), blender::bke::GeometrySet::compute_boundbox_without_instances(), blender::io::grease_pencil::compute_drawing_bounds(), blender::io::grease_pencil::compute_objects_bounds(), ED_view3d_minmax_verts(), blender::bke::pbvh::Tree::from_grids(), blender::bke::pbvh::Tree::from_mesh(), merge(), blender::bke::pbvh::merge_bounds(), blender::bke::pbvh::merge_child_bounds(), blender::bke::pbvh::pbvh_bmesh_node_split(), blender::eevee::VolumePipeline::register_and_get_layer(), blender::Bounds< blender::VecBase< float, 3 > >::scale_from_center(), and blender::io::grease_pencil::shift_to_bounds_center().
|
inlinenodiscard |
Definition at line 30 of file BLI_bounds.hh.
|
inlinenodiscard |
Definition at line 79 of file BLI_bounds.hh.
References blender::Span< T >::first(), init(), blender::Span< T >::is_empty(), mask(), min_max(), blender::threading::parallel_reduce(), result, and blender::Span< T >::size().
|
inlinenodiscard |
Find the smallest and largest values element-wise in the span.
Definition at line 58 of file BLI_bounds.hh.
|
inlinenodiscard |
Definition at line 46 of file BLI_bounds.hh.
Referenced by BKE_editmesh_cache_calc_minmax(), blender::bke::CurvesGeometry::bounds_min_max(), blender::nodes::node_geo_string_to_curves_cc::get_pivot_point(), min_max(), blender::ed::space_node::node_draw_zones_and_frames(), blender::geometry::ReverseUVSampler::ReverseUVSampler(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::ed::sculpt_paint::greasepencil::trim_stroke_ends(), and blender::eevee::VolumeObjectBounds::VolumeObjectBounds().
|
inlinenodiscard |
Find the smallest and largest values element-wise in the span, adding the radius to each element first. The template type T is expected to have an addition operator implemented with RadiusT.
Definition at line 107 of file BLI_bounds.hh.
References BLI_assert, blender::Span< T >::first(), blender::Span< T >::index_range(), init(), blender::Span< T >::is_empty(), min_max_with_radii(), blender::threading::parallel_reduce(), result, and blender::Span< T >::size().
Referenced by min_max_with_radii(), and blender::tests::TEST().