Developer Documentation
OpenMesh::VDPM::VHierarchy Class Reference

#include <OpenFlipper/libs_required/OpenMesh/src/OpenMesh/Tools/VDPM/VHierarchy.hh>

Public Types

typedef unsigned int id_t
 Type for tree and node ids. More...
 

Public Member Functions

void clear ()
 
unsigned char tree_id_bits () const
 
unsigned int num_roots () const
 
size_t num_nodes () const
 
VHierarchyNodeIndex generate_node_index (id_t _tree_id, id_t _node_id)
 
void set_num_roots (unsigned int _n_roots)
 
VHierarchyNodeHandle root_handle (unsigned int i) const
 
const VHierarchyNodenode (VHierarchyNodeHandle _vhierarchynode_handle) const
 
VHierarchyNodenode (VHierarchyNodeHandle _vhierarchynode_handle)
 
VHierarchyNodeHandle add_node ()
 
VHierarchyNodeHandle add_node (const VHierarchyNode &_node)
 
void make_children (const VHierarchyNodeHandle &_parent_handle)
 
bool is_ancestor (VHierarchyNodeIndex _ancestor_index, VHierarchyNodeIndex _descendent_index)
 
bool is_leaf_node (VHierarchyNodeHandle _node_handle)
 
bool is_root_node (VHierarchyNodeHandle _node_handle)
 
const OpenMesh::Vec3fnormal (VHierarchyNodeHandle _node_handle) const
 
const VHierarchyNodeIndexnode_index (VHierarchyNodeHandle _node_handle) const
 
VHierarchyNodeIndexnode_index (VHierarchyNodeHandle _node_handle)
 
const VHierarchyNodeIndexfund_lcut_index (VHierarchyNodeHandle _node_handle) const
 
VHierarchyNodeIndexfund_lcut_index (VHierarchyNodeHandle _node_handle)
 
const VHierarchyNodeIndexfund_rcut_index (VHierarchyNodeHandle _node_handle) const
 
VHierarchyNodeIndexfund_rcut_index (VHierarchyNodeHandle _node_handle)
 
VertexHandle vertex_handle (VHierarchyNodeHandle _node_handle)
 
VHierarchyNodeHandle parent_handle (VHierarchyNodeHandle _node_handle)
 
VHierarchyNodeHandle lchild_handle (VHierarchyNodeHandle _node_handle)
 
VHierarchyNodeHandle rchild_handle (VHierarchyNodeHandle _node_handle)
 
VHierarchyNodeHandle node_handle (VHierarchyNodeIndex _node_index)
 

Private Member Functions

VHierarchyNodeHandle compute_dependency (VHierarchyNodeIndex index0, VHierarchyNodeIndex index1)
 

Private Attributes

VHierarchyNodeContainer nodes_
 
unsigned int n_roots_
 
unsigned char tree_id_bits_
 

Detailed Description

Keeps the vertex hierarchy build during analyzing a progressive mesh.

Definition at line 73 of file VHierarchy.hh.

Member Typedef Documentation

◆ id_t

typedef unsigned int OpenMesh::VDPM::VHierarchy::id_t

Type for tree and node ids.

Definition at line 77 of file VHierarchy.hh.

Constructor & Destructor Documentation

◆ VHierarchy()

OpenMesh::VDPM::VHierarchy::VHierarchy ( )

Definition at line 64 of file VHierarchy.cc.

Member Function Documentation

◆ add_node() [1/2]

VHierarchyNodeHandle OpenMesh::VDPM::VHierarchy::add_node ( )

Definition at line 84 of file VHierarchy.cc.

◆ add_node() [2/2]

VHierarchyNodeHandle OpenMesh::VDPM::VHierarchy::add_node ( const VHierarchyNode _node)

Definition at line 91 of file VHierarchy.cc.

◆ clear()

void OpenMesh::VDPM::VHierarchy::clear ( void  )
inline

Definition at line 89 of file VHierarchy.hh.

◆ fund_lcut_index() [1/2]

VHierarchyNodeIndex & OpenMesh::VDPM::VHierarchy::fund_lcut_index ( VHierarchyNodeHandle  _node_handle)
inline

Definition at line 150 of file VHierarchy.hh.

◆ fund_lcut_index() [2/2]

const VHierarchyNodeIndex & OpenMesh::VDPM::VHierarchy::fund_lcut_index ( VHierarchyNodeHandle  _node_handle) const
inline

Definition at line 147 of file VHierarchy.hh.

◆ fund_rcut_index() [1/2]

VHierarchyNodeIndex & OpenMesh::VDPM::VHierarchy::fund_rcut_index ( VHierarchyNodeHandle  _node_handle)
inline

Definition at line 157 of file VHierarchy.hh.

◆ fund_rcut_index() [2/2]

const VHierarchyNodeIndex & OpenMesh::VDPM::VHierarchy::fund_rcut_index ( VHierarchyNodeHandle  _node_handle) const
inline

Definition at line 154 of file VHierarchy.hh.

◆ generate_node_index()

VHierarchyNodeIndex OpenMesh::VDPM::VHierarchy::generate_node_index ( id_t  _tree_id,
id_t  _node_id 
)
inline

Definition at line 94 of file VHierarchy.hh.

◆ is_ancestor()

bool OpenMesh::VDPM::VHierarchy::is_ancestor ( VHierarchyNodeIndex  _ancestor_index,
VHierarchyNodeIndex  _descendent_index 
)

Definition at line 150 of file VHierarchy.cc.

◆ is_leaf_node()

bool OpenMesh::VDPM::VHierarchy::is_leaf_node ( VHierarchyNodeHandle  _node_handle)
inline

Definition at line 127 of file VHierarchy.hh.

◆ is_root_node()

bool OpenMesh::VDPM::VHierarchy::is_root_node ( VHierarchyNodeHandle  _node_handle)
inline

Definition at line 130 of file VHierarchy.hh.

◆ lchild_handle()

VHierarchyNodeHandle OpenMesh::VDPM::VHierarchy::lchild_handle ( VHierarchyNodeHandle  _node_handle)
inline

Definition at line 166 of file VHierarchy.hh.

◆ make_children()

void OpenMesh::VDPM::VHierarchy::make_children ( const VHierarchyNodeHandle _parent_handle)

Definition at line 101 of file VHierarchy.cc.

◆ node() [1/2]

VHierarchyNode & OpenMesh::VDPM::VHierarchy::node ( VHierarchyNodeHandle  _vhierarchynode_handle)
inline

Definition at line 114 of file VHierarchy.hh.

◆ node() [2/2]

const VHierarchyNode & OpenMesh::VDPM::VHierarchy::node ( VHierarchyNodeHandle  _vhierarchynode_handle) const
inline

Definition at line 108 of file VHierarchy.hh.

◆ node_handle()

VHierarchyNodeHandle OpenMesh::VDPM::VHierarchy::node_handle ( VHierarchyNodeIndex  _node_index)

Definition at line 120 of file VHierarchy.cc.

◆ node_index() [1/2]

VHierarchyNodeIndex & OpenMesh::VDPM::VHierarchy::node_index ( VHierarchyNodeHandle  _node_handle)
inline

Definition at line 143 of file VHierarchy.hh.

◆ node_index() [2/2]

const VHierarchyNodeIndex & OpenMesh::VDPM::VHierarchy::node_index ( VHierarchyNodeHandle  _node_handle) const
inline

Definition at line 140 of file VHierarchy.hh.

◆ normal()

const OpenMesh::Vec3f & OpenMesh::VDPM::VHierarchy::normal ( VHierarchyNodeHandle  _node_handle) const
inline

Definition at line 134 of file VHierarchy.hh.

◆ num_nodes()

size_t OpenMesh::VDPM::VHierarchy::num_nodes ( ) const
inline

Definition at line 92 of file VHierarchy.hh.

◆ num_roots()

unsigned int OpenMesh::VDPM::VHierarchy::num_roots ( ) const
inline

Definition at line 91 of file VHierarchy.hh.

◆ parent_handle()

VHierarchyNodeHandle OpenMesh::VDPM::VHierarchy::parent_handle ( VHierarchyNodeHandle  _node_handle)
inline

Definition at line 163 of file VHierarchy.hh.

◆ rchild_handle()

VHierarchyNodeHandle OpenMesh::VDPM::VHierarchy::rchild_handle ( VHierarchyNodeHandle  _node_handle)
inline

Definition at line 169 of file VHierarchy.hh.

◆ root_handle()

VHierarchyNodeHandle OpenMesh::VDPM::VHierarchy::root_handle ( unsigned int  i) const
inline

Definition at line 102 of file VHierarchy.hh.

◆ set_num_roots()

void OpenMesh::VDPM::VHierarchy::set_num_roots ( unsigned int  _n_roots)

Definition at line 72 of file VHierarchy.cc.

◆ tree_id_bits()

unsigned char OpenMesh::VDPM::VHierarchy::tree_id_bits ( ) const
inline

Definition at line 90 of file VHierarchy.hh.

◆ vertex_handle()

VertexHandle OpenMesh::VDPM::VHierarchy::vertex_handle ( VHierarchyNodeHandle  _node_handle)
inline

Definition at line 160 of file VHierarchy.hh.

Member Data Documentation

◆ n_roots_

unsigned int OpenMesh::VDPM::VHierarchy::n_roots_
private

Definition at line 82 of file VHierarchy.hh.

◆ nodes_

VHierarchyNodeContainer OpenMesh::VDPM::VHierarchy::nodes_
private

Definition at line 81 of file VHierarchy.hh.

◆ tree_id_bits_

unsigned char OpenMesh::VDPM::VHierarchy::tree_id_bits_
private

Definition at line 83 of file VHierarchy.hh.


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