|
Blender
V2.93
|
#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] |
| int | flag |
| char | _pad0 [4] |
| 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 104 of file DNA_object_types.h.
| enum BoundBox::empty_t |
| Enumerator | |
|---|---|
| empty | |
Definition at line 48 of file util_boundbox.h.
|
inline |
Definition at line 36 of file util_boundbox.h.
|
inline |
Definition at line 40 of file util_boundbox.h.
|
inline |
Definition at line 44 of file util_boundbox.h.
|
inline |
Definition at line 50 of file util_boundbox.h.
|
inline |
|
inline |
Definition at line 127 of file util_boundbox.h.
Referenced by intersects().
|
inline |
Definition at line 132 of file util_boundbox.h.
Referenced by BVHBuild::add_reference_object(), BVHUnaligned::compute_aligned_boundbox(), BVHObjectBinning::get_bin(), and BVHObjectBinning::split().
|
inline |
Definition at line 70 of file util_boundbox.h.
|
inline |
Definition at line 55 of file util_boundbox.h.
References max, max, min, and min.
Referenced by BVHBuild::add_reference_curves(), BVHBuild::add_reference_object(), BVHBuild::add_reference_triangles(), LinearQuadPatch::bound(), BicubicPatch::bound(), Mesh::Triangle::bounds_grow(), Hair::Curve::bounds_grow(), BVHObjectBinning::BVHObjectBinning(), BVHObjectSplit::BVHObjectSplit(), BVHSpatialSplit::BVHSpatialSplit(), BVHUnaligned::compute_aligned_boundbox(), Hair::compute_bounds(), Mesh::compute_bounds(), Object::compute_bounds(), BVHBuild::create_leaf_node(), grow(), BVH2::refit_node(), BVH2::refit_primitives(), BVHSpatialSplit::split(), BVHObjectSplit::split(), BVHObjectBinning::split(), BVHSpatialSplit::split_curve_primitive(), and BVHSpatialSplit::split_triangle_primitive().
|
inline |
Definition at line 63 of file util_boundbox.h.
|
inline |
Definition at line 95 of file util_boundbox.h.
References grow_safe(), max, and min.
|
inline |
Definition at line 76 of file util_boundbox.h.
References CCL_NAMESPACE_BEGIN::isfinite(), max, max, min, min, float3::x, float3::y, and float3::z.
Referenced by Hair::compute_bounds(), Mesh::compute_bounds(), and grow_safe().
|
inline |
Definition at line 86 of file util_boundbox.h.
References border, CCL_NAMESPACE_BEGIN::isfinite(), make_float3, max, max, min, min, float3::x, float3::y, and float3::z.
|
inline |
Definition at line 121 of file util_boundbox.h.
References max, min, float3::x, float3::y, and float3::z.
Referenced by area(), BVHBuild::build_node(), BVHObjectBinning::BVHObjectBinning(), and BVHBuild::rotate().
|
inline |
Definition at line 101 of file util_boundbox.h.
References max, max, min, and min.
Referenced by BVHMixedSplit::BVHMixedSplit(), and BVHSpatialSplit::split_reference().
|
inline |
|
inline |
Definition at line 108 of file util_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 137 of file util_boundbox.h.
Referenced by BVHObjectBinning::BVHObjectBinning(), Object::compute_volume_step_size(), intersects(), and Object::is_traceable().
Definition at line 149 of file util_boundbox.h.
References empty, max, min, result, transform_point(), float3::x, float3::y, and float3::z.
Referenced by BVHUnaligned::compute_aligned_prim_boundbox(), and Object::compute_bounds().
|
inline |
Definition at line 142 of file util_boundbox.h.
References CCL_NAMESPACE_BEGIN::isfinite(), max, min, float3::x, float3::y, and float3::z.
Referenced by Object::apply_transform(), Hair::compute_bounds(), Mesh::compute_bounds(), Object::is_traceable(), and LightManager::object_usable_as_light().
| char BoundBox::_pad0[4] |
Definition at line 107 of file DNA_object_types.h.
| int BoundBox::flag |
Definition at line 106 of file DNA_object_types.h.
Referenced by BKE_curve_boundbox_get(), BKE_hair_boundbox_get(), BKE_mball_boundbox_get(), BKE_mball_texspace_calc(), BKE_mesh_boundbox_get(), BKE_object_boundbox_calc_from_mesh(), BKE_object_boundbox_flag(), BKE_pointcloud_boundbox_get(), BKE_volume_boundbox_get(), boundbox_armature(), boundbox_displist_object(), boundbox_gpencil(), boundbox_lattice(), ED_view3d_boundbox_clip(), ED_view3d_boundbox_clip_ex(), RE_point_density_minmax(), and view3d_orbit_calc_center().
| float3 BoundBox::max |
Definition at line 34 of file util_boundbox.h.
Referenced by BVHRange::BVHRange(), BVHReference::BVHReference(), BVHSpatialSplit::BVHSpatialSplit(), center(), center2(), BVHReferenceCompare::compare(), grow(), grow_safe(), half_area(), intersect(), intersect(), merge(), BVH2::pack_aligned_node(), BVHReference::prim_object(), safe_area(), BVHRange::size(), size(), BVHSpatialSplit::split(), BVHSpatialSplit::split_reference(), transformed(), and valid().
| float3 BoundBox::min |
Definition at line 34 of file util_boundbox.h.
Referenced by BVHRange::BVHRange(), BVHReference::BVHReference(), BVHSpatialSplit::BVHSpatialSplit(), center(), center2(), BVHReferenceCompare::compare(), BVHObjectBinning::get_bin(), grow(), grow_safe(), half_area(), intersect(), intersect(), merge(), BVH2::pack_aligned_node(), BVHReference::prim_index(), safe_area(), BVHRange::set_start(), size(), BVHSpatialSplit::split(), BVHSpatialSplit::split_reference(), BVHRange::start(), transformed(), and valid().
| float BoundBox::vec[8][3] |
Definition at line 105 of file DNA_object_types.h.
Referenced by BKE_boundbox_calc_center_aabb(), BKE_boundbox_calc_size_aabb(), BKE_boundbox_init_from_minmax(), BKE_boundbox_minmax(), BKE_gpencil_boundbox_get(), BKE_mball_make_orco(), BKE_object_dimensions_get(), BKE_object_dimensions_set_ex(), BKE_object_minmax_dupli(), calc_local_clipping(), cursor_draw_tiling_preview(), do_tiled(), draw_culling_box_test(), draw_culling_plane_test(), draw_frustum_bound_sphere_calc(), draw_frustum_boundbox_calc(), drw_call_culling_init(), DRW_debug_bbox(), DRW_debug_m4_as_bbox(), ED_gpencil_projected_2d_bound_box(), ED_transform_calc_gizmo_stats(), ED_view3d_clipping_calc(), ED_view3d_clipping_calc_from_boundbox(), eevee_lightprobes_culling_test(), EEVEE_shadows_caster_register(), eevee_volume_object_grids_init(), find_first_points(), init_meta(), make_box_from_metaelem(), object_origin_set_exec(), OVERLAY_background_cache_init(), partition_mainb(), raycastMesh(), RE_point_density_minmax(), select_id_object_min_max(), snapArmature(), snapCurve(), snapMesh(), TargetSnapClosest(), blender::io::alembic::ABCAbstractWriter::update_bounding_box(), view3d_boundbox_clip_m4(), view3d_boxview_clip(), voxel_size_edit_invoke(), workbench_shadow_object_shadow_bbox_get(), workbench_shadow_object_shadow_distance(), and workbench_shadow_update().