|
Blender V4.3
|
#include <DNA_object_types.h>
Public Types | |
| enum | empty_t { empty = 0 } |
Public Member Functions | |
| __forceinline | BoundBox () |
| __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, float border) |
| __forceinline void | grow (const BoundBox &bbox) |
| __forceinline void | grow_safe (const float3 &pt) |
| __forceinline void | grow_safe (const float3 &pt, 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 103 of file DNA_object_types.h.
| enum BoundBox::empty_t |
| Enumerator | |
|---|---|
| empty | |
Definition at line 29 of file boundbox.h.
|
inline |
Definition at line 23 of file boundbox.h.
|
inline |
Definition at line 25 of file boundbox.h.
|
inline |
Definition at line 27 of file boundbox.h.
|
inline |
Definition at line 31 of file boundbox.h.
|
inline |
Definition at line 102 of file boundbox.h.
References half_area().
Referenced by LightTreeMeasure::calculate(), and safe_area().
|
inline |
|
inline |
Definition at line 118 of file boundbox.h.
Referenced by BVHBuild::add_reference_object(), BVHUnaligned::compute_aligned_boundbox(), BVHUnaligned::compute_aligned_boundbox(), and BVHObjectBinning::split().
|
inline |
Definition at line 51 of file boundbox.h.
|
inline |
Definition at line 36 of file boundbox.h.
References min.
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(), BVHBuild::create_leaf_node(), 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 44 of file boundbox.h.
References make_float3(), and min.
|
inline |
Definition at line 76 of file boundbox.h.
References isfinite_safe(), max, and min.
|
inline |
Definition at line 57 of file boundbox.h.
References min, float3::x, float3::y, and float3::z.
Referenced by Hair::compute_bounds(), Mesh::compute_bounds(), and PointCloud::compute_bounds().
|
inline |
Definition at line 67 of file boundbox.h.
References make_float3(), min, float3::x, float3::y, and float3::z.
|
inline |
Definition at line 107 of file boundbox.h.
References 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 86 of file boundbox.h.
Referenced by BVHMixedSplit::BVHMixedSplit(), and BVHSpatialSplit::split_reference().
|
inline |
|
inline |
Definition at line 93 of file boundbox.h.
References area(), 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 123 of file boundbox.h.
References min.
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 135 of file boundbox.h.
References empty, min, result, transform_point(), float3::x, float3::y, and float3::z.
Referenced by BVHUnaligned::compute_aligned_prim_boundbox(), Object::compute_bounds(), and LightTreeMeasure::transform().
|
inline |
Definition at line 128 of file boundbox.h.
References 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(), and Object::is_traceable().
| float3 BoundBox::max |
Definition at line 21 of file boundbox.h.
Referenced by BVHRange::BVHRange(), BVHRange::BVHRange(), BVHRange::BVHRange(), BVHReference::BVHReference(), BVHSpatialSplit::BVHSpatialSplit(), center(), center2(), BVHReferenceCompare::compare(), grow(), grow_safe(), intersect(), merge(), BVH2::pack_aligned_node(), BVHReference::prim_object(), BVHRange::size(), BVHSpatialSplit::split(), and BVHSpatialSplit::split_reference().
| float3 BoundBox::min |
Definition at line 21 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(), merge(), BVH2::pack_aligned_node(), BVHReference::prim_index(), safe_area(), BVHRange::set_start(), size(), snap_source_closest_fn(), BVHSpatialSplit::split(), BVHSpatialSplit::split_reference(), BVHRange::start(), transformed(), blender::io::alembic::ABCAbstractWriter::update_bounding_box(), and valid().
| float BoundBox::vec[8][3] |
Definition at line 104 of file DNA_object_types.h.
Referenced by BKE_boundbox_init_from_minmax(), BKE_boundbox_minmax(), BKE_object_minmax_dupli(), calc_local_clipping(), blender::draw::DebugDraw::draw_bbox(), draw_culling_box_test(), draw_frustum_bound_sphere_calc(), draw_frustum_boundbox_calc(), blender::draw::DebugDraw::draw_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(), OVERLAY_background_cache_init(), partition_mainb(), 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().