#include <bvh_top_down_constructor.h>
Public Types | |
typedef top_down_policy | top_down_type |
typedef bvh_type::bv_ptr | bv_ptr |
typedef bvh_type::bv_ptr_container | bv_ptr_container |
typedef top_down_type::partition_type | partition_type |
typedef top_down_type::partition_iterator | partition_iterator |
typedef std::list< partition_type > | partition_queue |
Public Member Functions | |
template<typename iterator > | |
void | run (iterator begin, iterator end, bvh_type &bvh) |
Top Down Construction Algorithm.
The top down policy must have two methods:
partition_type all(void) init(iterator begin,iterator end)
It must also define two types
partition_type parition_iterator
The partition type must have the following methods:
bool empty() unsigned int size() void fit(bv_ptr_type) split(partition_type & partition) partition_iterator sub_partition_begin() partition_iterator sub_partition_end()
typedef bvh_type::bv_ptr OpenTissue::bvh::TopDownConstructor< bvh_type, top_down_policy >::bv_ptr |
typedef bvh_type::bv_ptr_container OpenTissue::bvh::TopDownConstructor< bvh_type, top_down_policy >::bv_ptr_container |
typedef top_down_type::partition_iterator OpenTissue::bvh::TopDownConstructor< bvh_type, top_down_policy >::partition_iterator |
typedef std::list<partition_type> OpenTissue::bvh::TopDownConstructor< bvh_type, top_down_policy >::partition_queue |
typedef top_down_type::partition_type OpenTissue::bvh::TopDownConstructor< bvh_type, top_down_policy >::partition_type |
typedef top_down_policy OpenTissue::bvh::TopDownConstructor< bvh_type, top_down_policy >::top_down_type |
void OpenTissue::bvh::TopDownConstructor< bvh_type, top_down_policy >::run | ( | iterator | begin, | |
iterator | end, | |||
bvh_type & | bvh | |||
) | [inline] |
Run Algorithm.
begin | Iterator to first data (i.e. geometry or volume if BVH is non-annotated). | |
end | Iterator to one position past last data (i.e. geometry or volume if BVH is non-annotated). | |
bvh | Upon return this argument holds the resulting BVH. |