Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes

OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ > Class Template Reference

#include <obb_tree_top_down_policy.h>

List of all members.

Classes

class  partition_type
class  vector3_iterator

Public Types

typedef obb_tree_types_ obb_tree_types
typedef obb_tree_types::obb_type obb_type
typedef obb_tree_types::plane_type plane_type
typedef obb_tree_types::math_types math_types
typedef math_types::vector3_type vector3_type
typedef math_types::real_type real_type
typedef math_types::value_traits value_traits
typedef TopDownPolicy
< bvh_type, obb_tree_types
top_down_type
typedef bvh_type::bv_ptr bv_ptr
typedef bvh_type::annotated_bv_type annotated_bv_type
typedef bvh_type::annotated_bv_ptr annotated_bv_ptr
typedef bvh_type::volume_type volume_type
typedef bvh_type::geometry_type geometry_type
typedef std::vector
< geometry_type
geometry_container
typedef
obb_tree_types::face_ptr_type 
face_ptr_type
typedef
partition_type::partition_container 
partition_container
typedef
partition_type::partition_iterator 
partition_iterator

Public Member Functions

 TopDownPolicy ()
partition_type all ()
template<typename iterator >
void init (iterator begin, iterator end)
void set_degree (size_t const &new_degree)

Protected Member Functions

size_t const & degree () const
void make_plane_split (plane_type const &plane, partition_type const &set, partition_type &left_subset, partition_type &right_subset)
void split (partition_type &partition)
void fit (bv_ptr bv, partition_type &partition)

Protected Attributes

geometry_container m_geometry
 The entire geometry that should be represented by the resulting BVH.
size_t m_degree
 The degree of the resulting hiearchy, ie. the cardinaltiy. Default value is 2.

template<typename bvh_type, typename obb_tree_types_>
class OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >


Member Typedef Documentation

template<typename bvh_type , typename obb_tree_types_ >
typedef bvh_type::annotated_bv_ptr OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::annotated_bv_ptr
template<typename bvh_type , typename obb_tree_types_ >
typedef bvh_type::annotated_bv_type OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::annotated_bv_type
template<typename bvh_type , typename obb_tree_types_ >
typedef bvh_type::bv_ptr OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::bv_ptr
template<typename bvh_type , typename obb_tree_types_ >
typedef obb_tree_types::face_ptr_type OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::face_ptr_type
template<typename bvh_type , typename obb_tree_types_ >
typedef std::vector<geometry_type> OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::geometry_container
template<typename bvh_type , typename obb_tree_types_ >
typedef bvh_type::geometry_type OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::geometry_type
template<typename bvh_type , typename obb_tree_types_ >
typedef obb_tree_types::math_types OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::math_types
template<typename bvh_type , typename obb_tree_types_ >
typedef obb_tree_types_ OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::obb_tree_types
template<typename bvh_type , typename obb_tree_types_ >
typedef obb_tree_types::obb_type OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::obb_type
template<typename bvh_type , typename obb_tree_types_ >
typedef partition_type::partition_container OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::partition_container
template<typename bvh_type , typename obb_tree_types_ >
typedef partition_type::partition_iterator OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::partition_iterator
template<typename bvh_type , typename obb_tree_types_ >
typedef obb_tree_types::plane_type OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::plane_type
template<typename bvh_type , typename obb_tree_types_ >
typedef math_types::real_type OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::real_type
template<typename bvh_type , typename obb_tree_types_ >
typedef TopDownPolicy<bvh_type,obb_tree_types> OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::top_down_type
template<typename bvh_type , typename obb_tree_types_ >
typedef math_types::value_traits OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::value_traits
template<typename bvh_type , typename obb_tree_types_ >
typedef math_types::vector3_type OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::vector3_type
template<typename bvh_type , typename obb_tree_types_ >
typedef bvh_type::volume_type OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::volume_type

Constructor & Destructor Documentation

template<typename bvh_type , typename obb_tree_types_ >
OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::TopDownPolicy (  )  [inline]

Member Function Documentation

template<typename bvh_type , typename obb_tree_types_ >
partition_type OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::all ( void   )  [inline]
template<typename bvh_type , typename obb_tree_types_ >
size_t const& OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::degree (  )  const [inline, protected]

Retrieve the wanted cardinality of the hiearchy.

template<typename bvh_type , typename obb_tree_types_ >
void OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::fit ( bv_ptr  bv,
partition_type partition 
) [inline, protected]
template<typename bvh_type , typename obb_tree_types_ >
template<typename iterator >
void OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::init ( iterator  begin,
iterator  end 
) [inline]
template<typename bvh_type , typename obb_tree_types_ >
void OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::make_plane_split ( plane_type const &  plane,
partition_type const &  set,
partition_type left_subset,
partition_type right_subset 
) [inline, protected]

This method splits a sequencial set of geometry elements into two disjoint subsets, a left and a right.

Parameters:
plane The plane used to split the set
set The set (i.e. a partitioning of the geometry)
left_subset Upon return this argument holds the left subset.
right_subset Upon return this argument holds the right subset.
template<typename bvh_type , typename obb_tree_types_ >
void OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::set_degree ( size_t const &  new_degree  )  [inline]

Set Hierarchy Cardinality.

Parameters:
new_degree The new degree that should be used when building a hierarchy. Valid values are 2, 4 and 8.
template<typename bvh_type , typename obb_tree_types_ >
void OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::split ( partition_type partition  )  [inline, protected]

Member Data Documentation

template<typename bvh_type , typename obb_tree_types_ >
size_t OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::m_degree [protected]

The degree of the resulting hiearchy, ie. the cardinaltiy. Default value is 2.

template<typename bvh_type , typename obb_tree_types_ >
geometry_container OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::m_geometry [protected]

The entire geometry that should be represented by the resulting BVH.


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