Public Types | Public Member Functions

OpenTissue::bvh::BottomUpConstructor< bvh_type, bottom_up_policy > Class Template Reference

#include <bvh_bottom_up_constructor.h>

List of all members.

Public Types

typedef bvh_type::volume_type volume_type
typedef bvh_type::geometry_type geometry_type
typedef bvh_type::bv_ptr bv_ptr
typedef bvh_type::annotated_bv_ptr annotated_bv_ptr
typedef bvh_type::annotated_bv_type annotated_bv_type
typedef BVHGraph< bvh_type > graph_type
typedef graph_type::edge_ptr_type edge_ptr
typedef graph_type::node_ptr_type node_ptr
typedef graph_type::node_iterator node_iterator
typedef
graph_type::volume_container 
volume_container

Public Member Functions

void run (graph_type &graph, bvh_type &bvh)

Detailed Description

template<typename bvh_type, typename bottom_up_policy = DefaultPriorityBottomUpPolicy<bvh_type>>
class OpenTissue::bvh::BottomUpConstructor< bvh_type, bottom_up_policy >

A graph-based deterministic bottom-up BVH contruction algorithm

The bottom-up policy has to implement the following methods:

void init(graph_type & graph) void update_priorities(node_type * node) edge_type * next_edge(void)const const bool more_edges(void)const bool should_create_bv(node_type * node) volume_type fit(geometry_iterator g0,geometry_iterator g1,volume_iterator v0,volume_iterator v1)

See class DefaultPriorityBottomUpPolicy for details about what these methods are supposed to do.


Member Typedef Documentation

template<typename bvh_type , typename bottom_up_policy = DefaultPriorityBottomUpPolicy<bvh_type>>
typedef bvh_type::annotated_bv_ptr OpenTissue::bvh::BottomUpConstructor< bvh_type, bottom_up_policy >::annotated_bv_ptr
template<typename bvh_type , typename bottom_up_policy = DefaultPriorityBottomUpPolicy<bvh_type>>
typedef bvh_type::annotated_bv_type OpenTissue::bvh::BottomUpConstructor< bvh_type, bottom_up_policy >::annotated_bv_type
template<typename bvh_type , typename bottom_up_policy = DefaultPriorityBottomUpPolicy<bvh_type>>
typedef bvh_type::bv_ptr OpenTissue::bvh::BottomUpConstructor< bvh_type, bottom_up_policy >::bv_ptr
template<typename bvh_type , typename bottom_up_policy = DefaultPriorityBottomUpPolicy<bvh_type>>
typedef graph_type::edge_ptr_type OpenTissue::bvh::BottomUpConstructor< bvh_type, bottom_up_policy >::edge_ptr
template<typename bvh_type , typename bottom_up_policy = DefaultPriorityBottomUpPolicy<bvh_type>>
typedef bvh_type::geometry_type OpenTissue::bvh::BottomUpConstructor< bvh_type, bottom_up_policy >::geometry_type
template<typename bvh_type , typename bottom_up_policy = DefaultPriorityBottomUpPolicy<bvh_type>>
typedef BVHGraph<bvh_type> OpenTissue::bvh::BottomUpConstructor< bvh_type, bottom_up_policy >::graph_type
template<typename bvh_type , typename bottom_up_policy = DefaultPriorityBottomUpPolicy<bvh_type>>
typedef graph_type::node_iterator OpenTissue::bvh::BottomUpConstructor< bvh_type, bottom_up_policy >::node_iterator
template<typename bvh_type , typename bottom_up_policy = DefaultPriorityBottomUpPolicy<bvh_type>>
typedef graph_type::node_ptr_type OpenTissue::bvh::BottomUpConstructor< bvh_type, bottom_up_policy >::node_ptr
template<typename bvh_type , typename bottom_up_policy = DefaultPriorityBottomUpPolicy<bvh_type>>
typedef graph_type::volume_container OpenTissue::bvh::BottomUpConstructor< bvh_type, bottom_up_policy >::volume_container
template<typename bvh_type , typename bottom_up_policy = DefaultPriorityBottomUpPolicy<bvh_type>>
typedef bvh_type::volume_type OpenTissue::bvh::BottomUpConstructor< bvh_type, bottom_up_policy >::volume_type

Member Function Documentation

template<typename bvh_type , typename bottom_up_policy = DefaultPriorityBottomUpPolicy<bvh_type>>
void OpenTissue::bvh::BottomUpConstructor< bvh_type, bottom_up_policy >::run ( graph_type graph,
bvh_type &  bvh 
) [inline]

Run Algorithm.

Parameters:
graph Initial graph, nodes represent leaves in resulting BVH, and edges represent possible ways to group BV nodes into parent nodes during the bottom-up construction.
bvh Upon return this argument holds the resulting BVH.

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