Public Types | Public Member Functions | Public Attributes | Protected Attributes | Friends

OpenTissue::bvh::BVHGraphNode< bvh_type > Class Template Reference

Forward declaration. More...

#include <bvh_graph_node.h>

List of all members.

Public Types

typedef bvh_type::volume_type volume_type
typedef bvh_type::bv_ptr bv_ptr
typedef bvh_type::bv_ptr_container bv_ptr_container
typedef
bvh_type::geometry_container 
geometry_container
typedef BVHGraph< bvh_type > graph_type
typedef
graph_type::volume_container 
volume_container
typedef
graph_type::edge_ptr_container 
edge_ptr_container
typedef
graph_type::edge_ptr_iterator 
edge_ptr_iterator
typedef
graph_type::const_edge_ptr_iterator 
const_edge_ptr_iterator
typedef graph_type::edge_iterator edge_iterator
typedef
graph_type::const_edge_iterator 
const_edge_iterator
typedef
graph_type::node_ptr_container 
node_ptr_container
typedef
graph_type::node_ptr_iterator 
node_ptr_iterator
typedef
graph_type::const_node_ptr_iterator 
const_node_ptr_iterator
typedef graph_type::node_iterator node_iterator
typedef
graph_type::const_node_iterator 
const_node_iterator

Public Member Functions

edge_iterator edge_begin ()
edge_iterator edge_end ()
const_edge_iterator edge_begin () const
const_edge_iterator edge_end () const
edge_ptr_iterator edge_ptr_begin ()
edge_ptr_iterator edge_ptr_end ()
const_edge_ptr_iterator edge_ptr_begin () const
const_edge_ptr_iterator edge_ptr_end () const
node_ptr_iterator sub_node_ptr_begin ()
node_ptr_iterator sub_node_ptr_end ()
const_node_ptr_iterator sub_node_ptr_begin () const
const_node_ptr_iterator sub_node_ptr_end () const
 BVHGraphNode ()
void create_bv (bvh_type &bvh, bool const &annotated=false)
bv_ptr const & bv () const
const unsigned int height () const
const unsigned int size_subtree () const
const unsigned int size_edges () const
const unsigned int size_sub_nodes () const
geometry_container const & coverage () const
geometry_containercoverage ()
volume_typevolume ()
const unsigned int max_sub_node_height () const
const unsigned int min_sub_node_height () const
void get_sub_node_BVs (bv_ptr_container &bvs)
void get_volumes (volume_container &volumes)

Public Attributes

unsigned int m_tag
 Tag, can be used for traversing graph structure.
unsigned int m_tag2
 Tag, can be used for traversing graph structure.

Protected Attributes

edge_ptr_container m_edges
 Edges incidient to this node.
node_ptr_container m_sub_nodes
 Nodes in the region corresponding to this node (before a merge-operation).
bv_ptr m_bv
 After a merge this member holds a pointer to the correspoding BV node.
volume_type m_volume
 If the graph node has not yet been subject to a merge, this member contains a volume covering all the nodes contained by this node.
unsigned int m_height
 Height of corresponding BV in the resulting BVH.
unsigned int m_subtree_size
 Number of BVs represented by this graph node.
geometry_container m_coverage
 Geometry covered by the BV graph node.

Friends

class BVHGraph< bvh_type >

Detailed Description

template<typename bvh_type>
class OpenTissue::bvh::BVHGraphNode< bvh_type >

Forward declaration.

A BVH Graph Node.


Member Typedef Documentation

template<typename bvh_type >
typedef bvh_type::bv_ptr OpenTissue::bvh::BVHGraphNode< bvh_type >::bv_ptr
template<typename bvh_type >
typedef bvh_type::bv_ptr_container OpenTissue::bvh::BVHGraphNode< bvh_type >::bv_ptr_container
template<typename bvh_type >
typedef graph_type::const_edge_iterator OpenTissue::bvh::BVHGraphNode< bvh_type >::const_edge_iterator
template<typename bvh_type >
typedef graph_type::const_node_iterator OpenTissue::bvh::BVHGraphNode< bvh_type >::const_node_iterator
template<typename bvh_type >
typedef graph_type::edge_iterator OpenTissue::bvh::BVHGraphNode< bvh_type >::edge_iterator
template<typename bvh_type >
typedef graph_type::edge_ptr_container OpenTissue::bvh::BVHGraphNode< bvh_type >::edge_ptr_container
template<typename bvh_type >
typedef graph_type::edge_ptr_iterator OpenTissue::bvh::BVHGraphNode< bvh_type >::edge_ptr_iterator
template<typename bvh_type >
typedef bvh_type::geometry_container OpenTissue::bvh::BVHGraphNode< bvh_type >::geometry_container
template<typename bvh_type >
typedef BVHGraph<bvh_type> OpenTissue::bvh::BVHGraphNode< bvh_type >::graph_type
template<typename bvh_type >
typedef graph_type::node_iterator OpenTissue::bvh::BVHGraphNode< bvh_type >::node_iterator
template<typename bvh_type >
typedef graph_type::node_ptr_container OpenTissue::bvh::BVHGraphNode< bvh_type >::node_ptr_container
template<typename bvh_type >
typedef graph_type::node_ptr_iterator OpenTissue::bvh::BVHGraphNode< bvh_type >::node_ptr_iterator
template<typename bvh_type >
typedef graph_type::volume_container OpenTissue::bvh::BVHGraphNode< bvh_type >::volume_container
template<typename bvh_type >
typedef bvh_type::volume_type OpenTissue::bvh::BVHGraphNode< bvh_type >::volume_type

Constructor & Destructor Documentation

template<typename bvh_type >
OpenTissue::bvh::BVHGraphNode< bvh_type >::BVHGraphNode (  )  [inline]

Member Function Documentation

template<typename bvh_type >
bv_ptr const& OpenTissue::bvh::BVHGraphNode< bvh_type >::bv (  )  const [inline]
template<typename bvh_type >
geometry_container const& OpenTissue::bvh::BVHGraphNode< bvh_type >::coverage (  )  const [inline]
template<typename bvh_type >
geometry_container& OpenTissue::bvh::BVHGraphNode< bvh_type >::coverage (  )  [inline]
template<typename bvh_type >
void OpenTissue::bvh::BVHGraphNode< bvh_type >::create_bv ( bvh_type &  bvh,
bool const &  annotated = false 
) [inline]

Create BV in BVH.

Parameters:
bvh A reference to the BVH where the BV should be created in.
template<typename bvh_type >
const_edge_iterator OpenTissue::bvh::BVHGraphNode< bvh_type >::edge_begin (  )  const [inline]
template<typename bvh_type >
edge_iterator OpenTissue::bvh::BVHGraphNode< bvh_type >::edge_begin (  )  [inline]
template<typename bvh_type >
edge_iterator OpenTissue::bvh::BVHGraphNode< bvh_type >::edge_end (  )  [inline]
template<typename bvh_type >
const_edge_iterator OpenTissue::bvh::BVHGraphNode< bvh_type >::edge_end (  )  const [inline]
template<typename bvh_type >
edge_ptr_iterator OpenTissue::bvh::BVHGraphNode< bvh_type >::edge_ptr_begin (  )  [inline]
template<typename bvh_type >
const_edge_ptr_iterator OpenTissue::bvh::BVHGraphNode< bvh_type >::edge_ptr_begin (  )  const [inline]
template<typename bvh_type >
const_edge_ptr_iterator OpenTissue::bvh::BVHGraphNode< bvh_type >::edge_ptr_end (  )  const [inline]
template<typename bvh_type >
edge_ptr_iterator OpenTissue::bvh::BVHGraphNode< bvh_type >::edge_ptr_end (  )  [inline]
template<typename bvh_type >
void OpenTissue::bvh::BVHGraphNode< bvh_type >::get_sub_node_BVs ( bv_ptr_container bvs  )  [inline]
template<typename bvh_type >
void OpenTissue::bvh::BVHGraphNode< bvh_type >::get_volumes ( volume_container volumes  )  [inline]
template<typename bvh_type >
const unsigned int OpenTissue::bvh::BVHGraphNode< bvh_type >::height (  )  const [inline]
template<typename bvh_type >
const unsigned int OpenTissue::bvh::BVHGraphNode< bvh_type >::max_sub_node_height (  )  const [inline]
template<typename bvh_type >
const unsigned int OpenTissue::bvh::BVHGraphNode< bvh_type >::min_sub_node_height (  )  const [inline]
template<typename bvh_type >
const unsigned int OpenTissue::bvh::BVHGraphNode< bvh_type >::size_edges (  )  const [inline]
template<typename bvh_type >
const unsigned int OpenTissue::bvh::BVHGraphNode< bvh_type >::size_sub_nodes (  )  const [inline]
template<typename bvh_type >
const unsigned int OpenTissue::bvh::BVHGraphNode< bvh_type >::size_subtree (  )  const [inline]
template<typename bvh_type >
node_ptr_iterator OpenTissue::bvh::BVHGraphNode< bvh_type >::sub_node_ptr_begin (  )  [inline]
template<typename bvh_type >
const_node_ptr_iterator OpenTissue::bvh::BVHGraphNode< bvh_type >::sub_node_ptr_begin (  )  const [inline]
template<typename bvh_type >
node_ptr_iterator OpenTissue::bvh::BVHGraphNode< bvh_type >::sub_node_ptr_end (  )  [inline]
template<typename bvh_type >
const_node_ptr_iterator OpenTissue::bvh::BVHGraphNode< bvh_type >::sub_node_ptr_end (  )  const [inline]
template<typename bvh_type >
volume_type& OpenTissue::bvh::BVHGraphNode< bvh_type >::volume (  )  [inline]

Friends And Related Function Documentation

template<typename bvh_type >
friend class BVHGraph< bvh_type > [friend]

Member Data Documentation

template<typename bvh_type >
bv_ptr OpenTissue::bvh::BVHGraphNode< bvh_type >::m_bv [protected]

After a merge this member holds a pointer to the correspoding BV node.

template<typename bvh_type >
geometry_container OpenTissue::bvh::BVHGraphNode< bvh_type >::m_coverage [protected]

Geometry covered by the BV graph node.

template<typename bvh_type >
edge_ptr_container OpenTissue::bvh::BVHGraphNode< bvh_type >::m_edges [protected]

Edges incidient to this node.

template<typename bvh_type >
unsigned int OpenTissue::bvh::BVHGraphNode< bvh_type >::m_height [protected]

Height of corresponding BV in the resulting BVH.

template<typename bvh_type >
node_ptr_container OpenTissue::bvh::BVHGraphNode< bvh_type >::m_sub_nodes [protected]

Nodes in the region corresponding to this node (before a merge-operation).

template<typename bvh_type >
unsigned int OpenTissue::bvh::BVHGraphNode< bvh_type >::m_subtree_size [protected]

Number of BVs represented by this graph node.

template<typename bvh_type >
unsigned int OpenTissue::bvh::BVHGraphNode< bvh_type >::m_tag

Tag, can be used for traversing graph structure.

template<typename bvh_type >
unsigned int OpenTissue::bvh::BVHGraphNode< bvh_type >::m_tag2

Tag, can be used for traversing graph structure.

template<typename bvh_type >
volume_type OpenTissue::bvh::BVHGraphNode< bvh_type >::m_volume [protected]

If the graph node has not yet been subject to a merge, this member contains a volume covering all the nodes contained by this node.


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