#include <obb_tree_top_down_policy.h>
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. |
typedef bvh_type::annotated_bv_ptr OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::annotated_bv_ptr |
typedef bvh_type::annotated_bv_type OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::annotated_bv_type |
typedef bvh_type::bv_ptr OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::bv_ptr |
typedef obb_tree_types::face_ptr_type OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::face_ptr_type |
typedef std::vector<geometry_type> OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::geometry_container |
typedef bvh_type::geometry_type OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::geometry_type |
typedef obb_tree_types::math_types OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::math_types |
typedef obb_tree_types_ OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::obb_tree_types |
typedef obb_tree_types::obb_type OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::obb_type |
typedef partition_type::partition_container OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::partition_container |
typedef partition_type::partition_iterator OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::partition_iterator |
typedef obb_tree_types::plane_type OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::plane_type |
typedef math_types::real_type OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::real_type |
typedef TopDownPolicy<bvh_type,obb_tree_types> OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::top_down_type |
typedef math_types::value_traits OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::value_traits |
typedef math_types::vector3_type OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::vector3_type |
typedef bvh_type::volume_type OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::volume_type |
OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::TopDownPolicy | ( | ) | [inline] |
partition_type OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::all | ( | void | ) | [inline] |
size_t const& OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::degree | ( | ) | const [inline, protected] |
Retrieve the wanted cardinality of the hiearchy.
void OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::fit | ( | bv_ptr | bv, | |
partition_type & | partition | |||
) | [inline, protected] |
void OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::init | ( | iterator | begin, | |
iterator | end | |||
) | [inline] |
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.
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. |
void OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::set_degree | ( | size_t const & | new_degree | ) | [inline] |
Set Hierarchy Cardinality.
new_degree | The new degree that should be used when building a hierarchy. Valid values are 2, 4 and 8. |
void OpenTissue::obb_tree::TopDownPolicy< bvh_type, obb_tree_types_ >::split | ( | partition_type & | partition | ) | [inline, protected] |
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.
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.