Blender
V3.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] |
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 89 of file DNA_object_types.h.
enum BoundBox::empty_t |
Enumerator | |
---|---|
empty |
Definition at line 35 of file boundbox.h.
|
inline |
Definition at line 23 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 37 of file boundbox.h.
|
inline |
|
inline |
|
inline |
Definition at line 119 of file boundbox.h.
Referenced by BVHBuild::add_reference_object(), BVHUnaligned::compute_aligned_boundbox(), BVHObjectBinning::get_bin(), and BVHObjectBinning::split().
|
inline |
Definition at line 57 of file boundbox.h.
|
inline |
Definition at line 42 of file boundbox.h.
References max, max, min, and min.
Referenced by BVHBuild::add_reference_curves(), BVHBuild::add_reference_object(), BVHBuild::add_reference_points(), BVHBuild::add_reference_triangles(), LinearQuadPatch::bound(), BicubicPatch::bound(), PointCloud::Point::bounds_grow(), Mesh::Triangle::bounds_grow(), Hair::Curve::bounds_grow(), BVHObjectBinning::BVHObjectBinning(), BVHObjectSplit::BVHObjectSplit(), BVHSpatialSplit::BVHSpatialSplit(), BVHUnaligned::compute_aligned_boundbox(), Hair::compute_bounds(), Mesh::compute_bounds(), PointCloud::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(), BVHSpatialSplit::split_point_primitive(), and BVHSpatialSplit::split_triangle_primitive().
|
inline |
Definition at line 50 of file boundbox.h.
|
inline |
Definition at line 82 of file boundbox.h.
References grow_safe(), max, and min.
|
inline |
Definition at line 63 of file 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(), PointCloud::compute_bounds(), and grow_safe().
|
inline |
Definition at line 73 of file 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 108 of file boundbox.h.
Referenced by area(), BVHBuild::build_node(), BVHObjectBinning::BVHObjectBinning(), and BVHBuild::rotate().
|
inline |
Definition at line 88 of file boundbox.h.
References max, max, min, and min.
Referenced by BVHMixedSplit::BVHMixedSplit(), and BVHSpatialSplit::split_reference().
|
inline |
|
inline |
Definition at line 95 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 124 of file boundbox.h.
Referenced by BVHObjectBinning::BVHObjectBinning(), Object::compute_volume_step_size(), intersects(), and Object::is_traceable().
Definition at line 136 of file 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 129 of file 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(), PointCloud::compute_bounds(), Object::is_traceable(), and LightManager::object_usable_as_light().
char BoundBox::_pad0[4] |
Definition at line 92 of file DNA_object_types.h.
int BoundBox::flag |
Definition at line 91 of file DNA_object_types.h.
Referenced by BKE_curve_boundbox_get(), BKE_curves_boundbox_get(), BKE_mball_boundbox_get(), BKE_mball_texspace_calc(), BKE_mesh_boundbox_get(), BKE_object_boundbox_calc_from_evaluated_geometry(), BKE_object_boundbox_calc_from_mesh(), BKE_object_replace_data_on_shallow_copy(), BKE_pointcloud_boundbox_get(), BKE_volume_boundbox_get(), boundbox_armature(), boundbox_gpencil(), boundbox_lattice(), object_sync_boundbox_to_original(), RE_point_density_minmax(), and view3d_orbit_calc_center().
float3 BoundBox::max |
Definition at line 21 of file boundbox.h.
Referenced by BVHRange::BVHRange(), BVHReference::BVHReference(), BVHSpatialSplit::BVHSpatialSplit(), center(), center2(), BVHReferenceCompare::compare(), grow(), grow_safe(), half_area(), 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 21 of file boundbox.h.
Referenced by BVHRange::BVHRange(), BVHReference::BVHReference(), BVHSpatialSplit::BVHSpatialSplit(), center(), center2(), BVHReferenceCompare::compare(), BVHObjectBinning::get_bin(), grow(), grow_safe(), half_area(), 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 90 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_calc_orco(), 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(), find_first_points(), init_meta(), lineart_geometry_check_visible(), make_box_from_metaelem(), mesh_to_volume(), OVERLAY_background_cache_init(), partition_mainb(), raycastMesh(), RE_point_density_minmax(), select_id_object_min_max(), snapArmature(), snapCurve(), snapMesh(), TargetSnapClosest(), blender::io::obj::transform_object(), blender::io::alembic::ABCAbstractWriter::update_bounding_box(), view3d_boundbox_clip_m4(), view3d_boxview_clip(), view3d_ob_drop_matrix_from_snap(), voxel_size_edit_invoke(), workbench_shadow_object_shadow_bbox_get(), workbench_shadow_object_shadow_distance(), and workbench_shadow_update().