Public Types | Public Member Functions

OpenTissue::bvh::TopDownConstructor< bvh_type, top_down_policy > Class Template Reference

#include <bvh_top_down_constructor.h>

List of all members.

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_typepartition_queue

Public Member Functions

template<typename iterator >
void run (iterator begin, iterator end, bvh_type &bvh)

Detailed Description

template<typename bvh_type, typename top_down_policy = DefaultTopDownPolicy<bvh_type>>
class OpenTissue::bvh::TopDownConstructor< bvh_type, top_down_policy >

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()


Member Typedef Documentation

template<typename bvh_type, typename top_down_policy = DefaultTopDownPolicy<bvh_type>>
typedef bvh_type::bv_ptr OpenTissue::bvh::TopDownConstructor< bvh_type, top_down_policy >::bv_ptr
template<typename bvh_type, typename top_down_policy = DefaultTopDownPolicy<bvh_type>>
typedef bvh_type::bv_ptr_container OpenTissue::bvh::TopDownConstructor< bvh_type, top_down_policy >::bv_ptr_container
template<typename bvh_type, typename top_down_policy = DefaultTopDownPolicy<bvh_type>>
typedef top_down_type::partition_iterator OpenTissue::bvh::TopDownConstructor< bvh_type, top_down_policy >::partition_iterator
template<typename bvh_type, typename top_down_policy = DefaultTopDownPolicy<bvh_type>>
typedef std::list<partition_type> OpenTissue::bvh::TopDownConstructor< bvh_type, top_down_policy >::partition_queue
template<typename bvh_type, typename top_down_policy = DefaultTopDownPolicy<bvh_type>>
typedef top_down_type::partition_type OpenTissue::bvh::TopDownConstructor< bvh_type, top_down_policy >::partition_type
template<typename bvh_type, typename top_down_policy = DefaultTopDownPolicy<bvh_type>>
typedef top_down_policy OpenTissue::bvh::TopDownConstructor< bvh_type, top_down_policy >::top_down_type

Member Function Documentation

template<typename bvh_type, typename top_down_policy = DefaultTopDownPolicy<bvh_type>>
template<typename iterator >
void OpenTissue::bvh::TopDownConstructor< bvh_type, top_down_policy >::run ( iterator  begin,
iterator  end,
bvh_type &  bvh 
) [inline]

Run Algorithm.

Parameters:
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.

The documentation for this class was generated from the following file: