|
Blender V4.3
|
#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=NULL) const |
| BoundBox | compute_aligned_boundbox (const BVHRange &range, const BVHReference *references, const Transform &aligned_space, BoundBox *cent_bounds=NULL) 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 20 of file unaligned.h.
| CCL_NAMESPACE_BEGIN BVHUnaligned::BVHUnaligned | ( | const vector< Object * > & | objects | ) |
Definition at line 18 of file unaligned.cpp.
| BoundBox BVHUnaligned::compute_aligned_boundbox | ( | const BVHObjectBinning & | range, |
| const BVHReference * | references, | ||
| const Transform & | aligned_space, | ||
| BoundBox * | cent_bounds = NULL ) const |
Definition at line 98 of file unaligned.cpp.
References bounds(), BoundBox::center2(), compute_aligned_prim_boundbox(), BoundBox::empty, BoundBox::grow(), and NULL.
Referenced by BVHBuild::build_node(), BVHBuild::build_node(), BVHObjectBinning::BVHObjectBinning(), and BVHSpatialSplit::BVHSpatialSplit().
| BoundBox BVHUnaligned::compute_aligned_boundbox | ( | const BVHRange & | range, |
| const BVHReference * | references, | ||
| const Transform & | aligned_space, | ||
| BoundBox * | cent_bounds = NULL ) const |
Definition at line 118 of file unaligned.cpp.
References bounds(), BoundBox::center2(), compute_aligned_prim_boundbox(), BoundBox::empty, BoundBox::grow(), and NULL.
| BoundBox BVHUnaligned::compute_aligned_prim_boundbox | ( | const BVHReference & | prim, |
| const Transform & | aligned_space ) const |
Definition at line 76 of file unaligned.cpp.
References bounds(), BVHReference::bounds(), Hair::Curve::bounds_grow(), BoundBox::empty, 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(), compute_aligned_boundbox(), BVHBuild::create_leaf_node(), BVHObjectBinning::get_prim_bounds(), BVHObjectSplit::get_prim_bounds(), BVHReferenceCompare::get_prim_bounds(), and BVHSpatialSplit::get_prim_bounds().
| Transform BVHUnaligned::compute_aligned_space | ( | const BVHObjectBinning & | range, |
| const BVHReference * | references ) const |
Definition at line 20 of file unaligned.cpp.
References compute_aligned_space(), and transform_identity().
Referenced by BVHBuild::build_node(), BVHBuild::build_node(), compute_aligned_space(), compute_aligned_space(), and BVHBuild::create_leaf_node().
| Transform BVHUnaligned::compute_aligned_space | ( | const BVHRange & | range, |
| const BVHReference * | references ) const |
Definition at line 36 of file unaligned.cpp.
References compute_aligned_space(), 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, 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 138 of file unaligned.cpp.
References bounds(), max, transform_scale(), float3::x, Transform::x, float3::y, and float3::z.
Referenced by BVH2::pack_unaligned_node().
Definition at line 56 of file unaligned.h.
Referenced by compute_aligned_prim_boundbox(), and compute_aligned_space().