|
Blender V5.0
|
#include <unaligned.h>
Public Member Functions | |
| BVHUnaligned (const vector< Object * > &objects) | |
| Transform | compute_aligned_space (const BVHObjectBinning &range, const BVHReference *references) const |
| Transform | compute_aligned_space (const BVHRange &range, const BVHReference *references) const |
| bool | compute_aligned_space (const BVHReference &ref, Transform *aligned_space) const |
| BoundBox | compute_aligned_prim_boundbox (const BVHReference &prim, const Transform &aligned_space) const |
| BoundBox | compute_aligned_boundbox (const BVHObjectBinning &range, const BVHReference *references, const Transform &aligned_space, BoundBox *cent_bounds=nullptr) const |
| BoundBox | compute_aligned_boundbox (const BVHRange &range, const BVHReference *references, const Transform &aligned_space, BoundBox *cent_bounds=nullptr) const |
Static Public Member Functions | |
| static Transform | compute_node_transform (const BoundBox &bounds, const Transform &aligned_space) |
Protected Attributes | |
| const vector< Object * > & | objects_ |
Definition at line 19 of file unaligned.h.
| CCL_NAMESPACE_BEGIN BVHUnaligned::BVHUnaligned | ( | const vector< Object * > & | objects | ) |
Definition at line 18 of file unaligned.cpp.
References objects_.
| BoundBox BVHUnaligned::compute_aligned_boundbox | ( | const BVHObjectBinning & | range, |
| const BVHReference * | references, | ||
| const Transform & | aligned_space, | ||
| BoundBox * | cent_bounds = nullptr ) const |
Definition at line 102 of file unaligned.cpp.
References bounds(), BoundBox::center2(), compute_aligned_prim_boundbox(), BoundBox::empty, BVHRange::end(), BoundBox::grow(), i, and BVHRange::start().
Referenced by BVHObjectBinning::BVHObjectBinning(), and BVHSpatialSplit::BVHSpatialSplit().
| BoundBox BVHUnaligned::compute_aligned_boundbox | ( | const BVHRange & | range, |
| const BVHReference * | references, | ||
| const Transform & | aligned_space, | ||
| BoundBox * | cent_bounds = nullptr ) const |
Definition at line 122 of file unaligned.cpp.
References bounds(), BoundBox::center2(), compute_aligned_prim_boundbox(), BoundBox::empty, BVHRange::end(), BoundBox::grow(), i, and BVHRange::start().
| BoundBox BVHUnaligned::compute_aligned_prim_boundbox | ( | const BVHReference & | prim, |
| const Transform & | aligned_space ) const |
Definition at line 77 of file unaligned.cpp.
References bounds(), BVHReference::bounds(), Hair::Curve::bounds_grow(), BoundBox::empty, Hair::get_curve(), objects_, BVHReference::prim_index(), BVHReference::prim_object(), BVHReference::prim_type(), PRIMITIVE_ALL, PRIMITIVE_CURVE, PRIMITIVE_MOTION, PRIMITIVE_UNPACK_SEGMENT, and BoundBox::transformed().
Referenced by compute_aligned_boundbox(), and compute_aligned_boundbox().
| Transform BVHUnaligned::compute_aligned_space | ( | const BVHObjectBinning & | range, |
| const BVHReference * | references ) const |
Definition at line 20 of file unaligned.cpp.
References compute_aligned_space(), BVHRange::end(), i, BVHRange::start(), and transform_identity().
Referenced by compute_aligned_space(), and compute_aligned_space().
| Transform BVHUnaligned::compute_aligned_space | ( | const BVHRange & | range, |
| const BVHReference * | references ) const |
Definition at line 36 of file unaligned.cpp.
References compute_aligned_space(), BVHRange::end(), i, BVHRange::start(), and transform_identity().
| bool BVHUnaligned::compute_aligned_space | ( | const BVHReference & | ref, |
| Transform * | aligned_space ) const |
Definition at line 52 of file unaligned.cpp.
References Hair::Curve::first_key, Hair::get_curve(), length(), make_transform_frame(), normalize_len(), objects_, BVHReference::prim_index(), BVHReference::prim_object(), BVHReference::prim_type(), PRIMITIVE_ALL, PRIMITIVE_CURVE, PRIMITIVE_MOTION, PRIMITIVE_UNPACK_SEGMENT, transform_identity(), and v2.
|
static |
Definition at line 142 of file unaligned.cpp.
References bounds(), max, transform_scale(), float4::w, float3::x, Transform::x, float3::y, Transform::y, float3::z, and Transform::z.
Referenced by BVH2::pack_unaligned_node().
Definition at line 55 of file unaligned.h.
Referenced by BVHUnaligned(), compute_aligned_prim_boundbox(), and compute_aligned_space().