|
Blender V5.0
|
#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 101 of file DNA_object_types.h.
| enum BoundBox::empty_t |
| Enumerator | |
|---|---|
| empty | |
Definition at line 28 of file boundbox.h.
|
default |
References __forceinline.
Referenced by grow(), grow_safe(), intersect(), intersects(), and transformed().
|
inline |
Definition at line 24 of file boundbox.h.
References __forceinline, max, and min.
|
inline |
Definition at line 26 of file boundbox.h.
References __forceinline, max, and min.
|
inline |
Definition at line 30 of file boundbox.h.
References __forceinline, FLT_MAX, make_float3(), max, and min.
|
inline |
Definition at line 101 of file boundbox.h.
References __forceinline, and half_area().
Referenced by safe_area().
|
inline |
Definition at line 112 of file boundbox.h.
References __forceinline, max, and min.
Referenced by intersects().
|
inline |
Definition at line 117 of file boundbox.h.
References __forceinline, max, and min.
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.
References __forceinline, BoundBox(), max, and min.
|
inline |
Definition at line 35 of file boundbox.h.
References __forceinline, max, and min.
Referenced by BVHBuild::add_reference_curves(), BVHBuild::add_reference_object(), BVHBuild::add_reference_points(), BVHBuild::add_reference_triangles(), BicubicPatch::bound(), LinearQuadPatch::bound(), BVHObjectBinning::BVHObjectBinning(), BVHSpatialSplit::BVHSpatialSplit(), BVHUnaligned::compute_aligned_boundbox(), BVHUnaligned::compute_aligned_boundbox(), Hair::compute_bounds(), Mesh::compute_bounds(), PointCloud::compute_bounds(), 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 __forceinline, make_float3(), max, and min.
|
inline |
Definition at line 75 of file boundbox.h.
References __forceinline, BoundBox(), isfinite_safe(), max, and min.
|
inline |
Definition at line 56 of file boundbox.h.
References __forceinline, 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 __forceinline, make_float3(), max, min, float3::x, float3::y, and float3::z.
|
inline |
Definition at line 106 of file boundbox.h.
References __forceinline, 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.
References __forceinline, BoundBox(), max, and min.
Referenced by BVHMixedSplit::BVHMixedSplit(), and BVHSpatialSplit::split_reference().
|
inline |
Definition at line 157 of file boundbox.h.
References __forceinline, BoundBox(), center(), fabsf, size(), float3::x, float3::y, and float3::z.
Referenced by ObjectManager::device_update_flags().
|
inline |
Definition at line 92 of file boundbox.h.
References __forceinline, area(), max, and min.
Referenced by BVHMixedSplit::BVHMixedSplit(), BVHSpatialSplit::BVHSpatialSplit(), BVHNode::computeSubtreeSAHCost(), BVHBuild::run(), and BVHSpatialSplit::split().
|
inline |
Definition at line 122 of file boundbox.h.
References __forceinline, max, and min.
Referenced by intersects().
Definition at line 134 of file boundbox.h.
References BoundBox(), empty, i, max, min, result, transform_point(), valid(), float3::x, float3::y, and float3::z.
Referenced by BVHUnaligned::compute_aligned_prim_boundbox(), Object::compute_bounds(), and TEST().
|
inline |
Definition at line 127 of file boundbox.h.
References __forceinline, max, and min.
Referenced by Hair::compute_bounds(), Mesh::compute_bounds(), PointCloud::compute_bounds(), and transformed().
| float3 BoundBox::max |
Definition at line 20 of file boundbox.h.
Referenced by BoundBox(), BoundBox(), BoundBox(), BVHSpatialSplit::BVHSpatialSplit(), center(), center2(), BVHReferenceCompare::compare(), grow(), grow(), grow(), grow_safe(), grow_safe(), grow_safe(), half_area(), intersect(), intersect(), light_tree_node_copy_to_device(), merge(), merge(), BVH2::pack_aligned_node(), print_emitters(), safe_area(), size(), BVHSpatialSplit::split(), BVHSpatialSplit::split_reference(), TEST(), transformed(), and valid().
| float3 BoundBox::min |
Definition at line 20 of file boundbox.h.
Referenced by BoundBox(), BoundBox(), BoundBox(), BVHSpatialSplit::BVHSpatialSplit(), center(), center2(), BVHReferenceCompare::compare(), grow(), grow(), grow(), grow_safe(), grow_safe(), grow_safe(), half_area(), intersect(), intersect(), light_tree_node_copy_to_device(), merge(), merge(), Octree::Octree(), BVH2::pack_aligned_node(), print_emitters(), safe_area(), size(), BVHSpatialSplit::split(), BVHSpatialSplit::split_reference(), TEST(), transformed(), and valid().
| float BoundBox::vec[8][3] |
Definition at line 102 of file DNA_object_types.h.
Referenced by calc_local_clipping(), blender::draw::drw_debug_bbox(), ED_view3d_clipping_calc(), ED_view3d_clipping_calc_from_boundbox(), find_first_points(), init_meta(), make_box_from_metaelem(), make_box_union(), partition_mainb(), view3d_boundbox_clip_m4(), and view3d_boxview_clip().