48 #ifndef OPENMESH_VDPROGMESH_VHIERARCHYNODEINDEX_HH
49 #define OPENMESH_VDPROGMESH_VHIERARCHYNODEINDEX_HH
89 { value_ = _other.value_; }
92 unsigned int _node_id,
93 unsigned short _tree_id_bits)
95 assert(_tree_id < ((
unsigned int) 0x00000001 << _tree_id_bits));
96 assert(_node_id < ((
unsigned int) 0x00000001 << (32 - _tree_id_bits)));
97 value_ = (_tree_id << (32 - _tree_id_bits)) | _node_id;
100 bool is_valid(
unsigned short _tree_id_bits)
const
101 {
return node_id(_tree_id_bits) != 0 ?
true :
false; }
103 unsigned int tree_id(
unsigned short _tree_id_bits)
const
104 {
return value_ >> (32 - _tree_id_bits); }
106 unsigned int node_id(
unsigned short _tree_id_bits)
const
107 {
return value_ & ((
unsigned int) 0xFFFFFFFF >> _tree_id_bits); }
110 {
return (value_ < other.value_) ?
true :
false; }
112 unsigned int value()
const
125 #endif // OPENMESH_VDPROGMESH_VHIERARCHYNODEINDEX_HH defined
std::vector< VHierarchyNodeIndex > VHierarchyNodeIndexContainer
Container for vertex hierarchy node indices.
Definition: VHierarchyNodeIndex.hh:118
Index of vertex hierarchy node.
Definition: VHierarchyNodeIndex.hh:71
Contains all the mesh ingredients like the polygonal mesh, the triangle mesh, different mesh kernels ...
Definition: MeshItems.hh:56