|
Blender V4.5
|
#include <DNA_object_types.h>
Public Types | |
| enum | empty_t { empty = 0 } |
Public Member Functions | |
| __forceinline | BoundBox ()=default |
| __forceinline | BoundBox (const float3 &pt) |
| __forceinline | BoundBox (const float3 &min_, const float3 &max_) |
| __forceinline | BoundBox (empty_t) |
| __forceinline void | grow (const float3 &pt) |
| __forceinline void | grow (const float3 &pt, const float border) |
| __forceinline void | grow (const BoundBox &bbox) |
| __forceinline void | grow_safe (const float3 &pt) |
| __forceinline void | grow_safe (const float3 &pt, const float border) |
| __forceinline void | grow_safe (const BoundBox &bbox) |
| __forceinline void | intersect (const BoundBox &bbox) |
| __forceinline float | safe_area () const |
| __forceinline float | area () const |
| __forceinline float | half_area () const |
| __forceinline float3 | center () const |
| __forceinline float3 | center2 () const |
| __forceinline float3 | size () const |
| __forceinline bool | valid () const |
| BoundBox | transformed (const Transform *tfm) const |
| __forceinline bool | intersects (const BoundBox &other) |
Public Attributes | |
| float | vec [8][3] |
| float3 | min |
| float3 | max |
The following illustrates the orientation of the bounding box in local space
Z Y
| /
|/
.-----X
2----------6
/| /|
/ | / |
1----------5 |
| | | |
| 3-------|--7
| / | /
|/ |/
0----------4
Definition at line 102 of file DNA_object_types.h.
| enum BoundBox::empty_t |
| Enumerator | |
|---|---|
| empty | |
Definition at line 28 of file boundbox.h.
|
default |
|
inline |
Definition at line 24 of file boundbox.h.
|
inline |
Definition at line 26 of file boundbox.h.
|
inline |
Definition at line 30 of file boundbox.h.
|
inline |
Definition at line 101 of file boundbox.h.
References half_area().
Referenced by LightTreeMeasure::calculate(), and safe_area().
|
inline |
|
inline |
Definition at line 117 of file boundbox.h.
Referenced by BVHBuild::add_reference_object(), BVHUnaligned::compute_aligned_boundbox(), BVHUnaligned::compute_aligned_boundbox(), BVHObjectBinning::get_bin(), and BVHObjectBinning::split().
|
inline |
Definition at line 50 of file boundbox.h.
|
inline |
Definition at line 35 of file boundbox.h.
Referenced by LightTreeMeasure::add(), BVHBuild::add_reference_curves(), BVHBuild::add_reference_object(), BVHBuild::add_reference_points(), BVHBuild::add_reference_triangles(), BicubicPatch::bound(), LinearQuadPatch::bound(), Hair::Curve::bounds_grow(), Hair::Curve::bounds_grow(), Hair::Curve::bounds_grow(), Hair::Curve::bounds_grow(), Mesh::Triangle::bounds_grow(), PointCloud::Point::bounds_grow(), PointCloud::Point::bounds_grow(), PointCloud::Point::bounds_grow(), BVHObjectBinning::BVHObjectBinning(), BVHObjectSplit::BVHObjectSplit(), BVHSpatialSplit::BVHSpatialSplit(), BVHUnaligned::compute_aligned_boundbox(), BVHUnaligned::compute_aligned_boundbox(), Hair::compute_bounds(), Mesh::compute_bounds(), Object::compute_bounds(), PointCloud::compute_bounds(), LightTreeEmitter::LightTreeEmitter(), BVH2::refit_node(), BVH2::refit_primitives(), BVHObjectBinning::split(), BVHObjectSplit::split(), BVHSpatialSplit::split(), BVHSpatialSplit::split_curve_primitive(), BVHSpatialSplit::split_point_primitive(), and BVHSpatialSplit::split_triangle_primitive().
|
inline |
Definition at line 43 of file boundbox.h.
References make_float3(), max, and min.
|
inline |
Definition at line 75 of file boundbox.h.
References isfinite_safe(), max, and min.
|
inline |
Definition at line 56 of file boundbox.h.
References max, min, float3::x, float3::y, and float3::z.
Referenced by Hair::compute_bounds(), Mesh::compute_bounds(), and PointCloud::compute_bounds().
|
inline |
Definition at line 66 of file boundbox.h.
References make_float3(), max, min, float3::x, float3::y, and float3::z.
|
inline |
Definition at line 106 of file boundbox.h.
References max, min, float3::x, float3::y, and float3::z.
Referenced by area(), BVHBuild::build_node(), BVHBuild::build_node(), BVHObjectBinning::BVHObjectBinning(), and BVHBuild::rotate().
|
inline |
Definition at line 85 of file boundbox.h.
Referenced by BVHMixedSplit::BVHMixedSplit(), and BVHSpatialSplit::split_reference().
|
inline |
|
inline |
Definition at line 92 of file boundbox.h.
References area(), max, min, float3::x, float3::y, and float3::z.
Referenced by BVHMixedSplit::BVHMixedSplit(), BVHObjectSplit::BVHObjectSplit(), BVHSpatialSplit::BVHSpatialSplit(), BVHNode::computeSubtreeSAHCost(), BVHBuild::run(), and BVHSpatialSplit::split().
|
inline |
Definition at line 122 of file boundbox.h.
Referenced by BVHObjectBinning::BVHObjectBinning(), BVHSpatialSplit::BVHSpatialSplit(), LightTreeMeasure::calculate(), Hair::compute_bounds(), Mesh::compute_bounds(), PointCloud::compute_bounds(), Object::compute_volume_step_size(), intersects(), Object::is_traceable(), and BVHObjectSplit::split().
Definition at line 134 of file boundbox.h.
References empty, max, min, result, transform_point(), valid(), float3::x, float3::y, and float3::z.
Referenced by BVHUnaligned::compute_aligned_prim_boundbox(), Object::compute_bounds(), TEST(), and LightTreeMeasure::transform().
|
inline |
Definition at line 127 of file boundbox.h.
References max, min, float3::x, float3::y, and float3::z.
Referenced by Object::apply_transform(), Hair::compute_bounds(), Mesh::compute_bounds(), PointCloud::compute_bounds(), Object::compute_volume_step_size(), Object::is_traceable(), and transformed().
| float3 BoundBox::max |
Definition at line 20 of file boundbox.h.
Referenced by BVHRange::BVHRange(), BVHRange::BVHRange(), BVHRange::BVHRange(), BVHReference::BVHReference(), BVHSpatialSplit::BVHSpatialSplit(), center(), center2(), BVHReferenceCompare::compare(), grow(), grow(), grow(), grow_safe(), grow_safe(), grow_safe(), half_area(), intersect(), intersect(), merge(), merge(), BVH2::pack_aligned_node(), BVHReference::prim_object(), print_emitters(), safe_area(), size(), BVHRange::size(), BVHSpatialSplit::split(), BVHSpatialSplit::split_reference(), TEST(), transformed(), and valid().
| float3 BoundBox::min |
Definition at line 20 of file boundbox.h.
Referenced by BKE_pchan_minmax(), BVHRange::BVHRange(), BVHRange::BVHRange(), BVHRange::BVHRange(), BVHReference::BVHReference(), BVHSpatialSplit::BVHSpatialSplit(), center(), center2(), BVHReferenceCompare::compare(), BVHObjectBinning::get_bin(), BVHObjectBinning::get_bin(), grow(), grow(), grow(), grow_safe(), grow_safe(), grow_safe(), half_area(), intersect(), intersect(), merge(), merge(), BVH2::pack_aligned_node(), BVHReference::prim_index(), print_emitters(), safe_area(), BVHRange::set_start(), size(), blender::ed::transform::snap_source_closest_fn(), BVHSpatialSplit::split(), BVHSpatialSplit::split_reference(), BVHRange::start(), TEST(), transformed(), blender::io::alembic::ABCAbstractWriter::update_bounding_box(), and valid().
| float BoundBox::vec[8][3] |
Definition at line 103 of file DNA_object_types.h.
Referenced by BKE_boundbox_init_from_minmax(), BKE_boundbox_minmax(), calc_local_clipping(), blender::draw::drw_debug_bbox(), blender::draw::drw_debug_matrix_as_bbox(), ED_view3d_clipping_calc(), ED_view3d_clipping_calc_from_boundbox(), find_first_points(), init_meta(), lineart_geometry_check_visible(), make_box_from_metaelem(), make_box_union(), partition_mainb(), blender::ed::transform::snap_source_closest_fn(), blender::io::alembic::ABCAbstractWriter::update_bounding_box(), view3d_boundbox_clip_m4(), view3d_boxview_clip(), blender::eevee::VolumeObjectBounds::VolumeObjectBounds(), and blender::ed::object::voxel_size_edit_invoke().