#include <bvh_bounding_volume_hierarchy.h>
Classes | |
struct | null_deleter |
Public Types | |
typedef BoundingVolumeHierarchy< V, G, T > | bvh_type |
typedef V | volume_type |
typedef G | geometry_type |
typedef BV< bvh_type, T > | bv_type |
typedef AnnotatedBV< bvh_type, T > | annotated_bv_type |
typedef BVTraversalIterator < bvh_type > | bv_traversal_iterator |
typedef boost::shared_ptr < bvh_type > | bvh_ptr |
typedef boost::weak_ptr< bvh_type > | bvh_weak_ptr |
typedef boost::shared_ptr < bvh_type const > | bvh_const_ptr |
typedef boost::weak_ptr < bvh_type const > | bvh_const_weak_ptr |
typedef boost::shared_ptr < volume_type > | volume_ptr |
typedef boost::shared_ptr < geometry_type > | geometry_ptr |
typedef boost::shared_ptr < bv_type > | bv_ptr |
typedef boost::weak_ptr< bv_type > | bv_weak_ptr |
typedef boost::shared_ptr < bv_type const > | bv_const_ptr |
typedef boost::weak_ptr < bv_type const > | bv_const_weak_ptr |
typedef boost::shared_ptr < annotated_bv_type > | annotated_bv_ptr |
typedef std::list< bv_ptr > | bv_ptr_container |
typedef bv_ptr_container::iterator | bv_ptr_iterator |
typedef bv_ptr_container::const_iterator | bv_const_ptr_iterator |
typedef std::list < annotated_bv_ptr > | annotated_bv_ptr_container |
typedef annotated_bv_ptr_container::iterator | annotated_bv_ptr_iterator |
typedef annotated_bv_ptr_container::const_iterator | annotated_bv_const_ptr_iterator |
typedef boost::indirect_iterator < bv_ptr_iterator, bv_type > | bv_iterator |
typedef boost::indirect_iterator < bv_const_ptr_iterator, bv_type > | bv_const_iterator |
typedef boost::indirect_iterator < bv_ptr_iterator, annotated_bv_type > | bv_annotated_iterator |
typedef boost::indirect_iterator < bv_const_ptr_iterator, annotated_bv_type > | annotated_bv_const_iterator |
typedef std::list< geometry_type > | geometry_container |
typedef geometry_container::iterator | geometry_iterator |
typedef geometry_container::const_iterator | geometry_const_iterator |
Public Member Functions | |
bv_traversal_iterator | begin () |
bv_traversal_iterator | end () |
const bv_traversal_iterator | begin () const |
const bv_traversal_iterator | end () const |
BoundingVolumeHierarchy () | |
BoundingVolumeHierarchy (BoundingVolumeHierarchy const &other) | |
~BoundingVolumeHierarchy () | |
bv_ptr | root () |
bv_const_ptr | root () const |
size_t | size () const |
bool const | empty () const |
bv_ptr | insert (bv_ptr_container const &children, bool const annotated=false) |
bv_ptr | insert (bv_ptr parent, bool const annotated=false) |
bool const | remove (bv_ptr bv) |
void | clear () |
Protected Member Functions | |
bvh_ptr | get_this () |
Protected Attributes | |
bv_ptr | m_root |
Root Pointer. | |
size_t | m_subtrees |
Subtree counter, used to set root-pointer when building tree bottom-up. | |
size_t | m_size |
Number of nodes in the BVH. | |
bvh_ptr | m_this |
Shared this pointer. |
Bounding Volume Hierarchy Class.
typedef boost::indirect_iterator<bv_const_ptr_iterator,annotated_bv_type> OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::annotated_bv_const_iterator |
typedef annotated_bv_ptr_container::const_iterator OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::annotated_bv_const_ptr_iterator |
typedef boost::shared_ptr<annotated_bv_type> OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::annotated_bv_ptr |
typedef std::list<annotated_bv_ptr> OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::annotated_bv_ptr_container |
typedef annotated_bv_ptr_container::iterator OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::annotated_bv_ptr_iterator |
typedef AnnotatedBV<bvh_type, T> OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::annotated_bv_type |
typedef boost::indirect_iterator<bv_ptr_iterator,annotated_bv_type> OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::bv_annotated_iterator |
typedef boost::indirect_iterator<bv_const_ptr_iterator,bv_type> OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::bv_const_iterator |
typedef boost::shared_ptr<bv_type const> OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::bv_const_ptr |
typedef bv_ptr_container::const_iterator OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::bv_const_ptr_iterator |
typedef boost::weak_ptr<bv_type const> OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::bv_const_weak_ptr |
typedef boost::indirect_iterator<bv_ptr_iterator,bv_type> OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::bv_iterator |
typedef boost::shared_ptr<bv_type> OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::bv_ptr |
typedef std::list<bv_ptr> OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::bv_ptr_container |
typedef bv_ptr_container::iterator OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::bv_ptr_iterator |
typedef BVTraversalIterator<bvh_type> OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::bv_traversal_iterator |
typedef BV<bvh_type, T> OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::bv_type |
typedef boost::weak_ptr<bv_type> OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::bv_weak_ptr |
typedef boost::shared_ptr<bvh_type const> OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::bvh_const_ptr |
typedef boost::weak_ptr<bvh_type const> OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::bvh_const_weak_ptr |
typedef boost::shared_ptr<bvh_type> OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::bvh_ptr |
typedef BoundingVolumeHierarchy<V,G,T> OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::bvh_type |
typedef boost::weak_ptr<bvh_type> OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::bvh_weak_ptr |
typedef geometry_container::const_iterator OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::geometry_const_iterator |
typedef std::list<geometry_type> OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::geometry_container |
typedef geometry_container::iterator OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::geometry_iterator |
typedef boost::shared_ptr<geometry_type> OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::geometry_ptr |
typedef G OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::geometry_type |
typedef boost::shared_ptr<volume_type> OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::volume_ptr |
typedef V OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::volume_type |
OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::BoundingVolumeHierarchy | ( | ) | [inline] |
OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::BoundingVolumeHierarchy | ( | BoundingVolumeHierarchy< V, G, T > const & | other | ) | [inline] |
OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::~BoundingVolumeHierarchy | ( | ) | [inline] |
bv_traversal_iterator OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::begin | ( | ) | [inline] |
const bv_traversal_iterator OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::begin | ( | ) | const [inline] |
void OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::clear | ( | ) | [inline] |
bool const OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::empty | ( | ) | const [inline] |
const bv_traversal_iterator OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::end | ( | ) | const [inline] |
bv_traversal_iterator OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::end | ( | ) | [inline] |
bvh_ptr OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::get_this | ( | ) | [inline, protected] |
bv_ptr OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::insert | ( | bv_ptr_container const & | children, | |
bool const | annotated = false | |||
) | [inline] |
Insert new BV. This insertion routine is meant to be used in a bottom-up manner
children | ||
annotated |
bv_ptr OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::insert | ( | bv_ptr | parent, | |
bool const | annotated = false | |||
) | [inline] |
Insert new BV. This insertion routine is meant to be used in a top-down manner.
parent | ||
annotated |
bool const OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::remove | ( | bv_ptr | bv | ) | [inline] |
bv_ptr OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::root | ( | ) | [inline] |
bv_const_ptr OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::root | ( | ) | const [inline] |
size_t OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::size | ( | ) | const [inline] |
bv_ptr OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::m_root [protected] |
Root Pointer.
size_t OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::m_size [protected] |
Number of nodes in the BVH.
size_t OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::m_subtrees [protected] |
Subtree counter, used to set root-pointer when building tree bottom-up.
bvh_ptr OpenTissue::bvh::BoundingVolumeHierarchy< V, G, T >::m_this [protected] |
Shared this pointer.