1 #ifndef __vtkLabelHierarchyPrivate_h
2 #define __vtkLabelHierarchyPrivate_h
7 #include "octree/octree"
81 vtkGenericWarningMacro(
"error: NULL this->Hierarchy in PriorityComparator" );
87 vtkGenericWarningMacro(
"error: NULL this->Hierarchy->GetImplementation() in PriorityComparator" );
95 class LabelSet :
public vtkstd::multiset<vtkIdType,PriorityComparator>
103 for (
int i = 0; i < 3; ++ i )
114 for (
int i = 0; i < 3; ++ i )
125 for (
int i = 0; i < 3; ++ i )
135 #if ! ( defined(_MSC_VER) && (_MSC_VER < 1300) )
136 vtkstd::multiset<vtkIdType,PriorityComparator>::operator = ( rhs );
140 for (
int i = 0; i < 3; ++ i )
156 this->insert( anchor );
211 for (
int i = 0; i < 3; ++ i )
213 this->
Center[i] = center[i];
220 double sz2 = this->Size / 2.;
222 for (
int i = 0; i <
self->num_children(); ++ i )
224 for (
int j = 0; j < 2; ++ j )
226 x[j] = this->
Center[j] + ( ( i & (1<<j) ) ? 0.5 : -0.5 ) * sz2 ;
229 (*self)[i].value().SetGeometry( x, sz2 );
235 double sz2 = this->Size / 2.;
237 for (
int i = 0; i <
self->num_children(); ++ i )
239 for (
int j = 0; j < 3; ++ j )
241 x[j] = this->
Center[j] + ( ( i & (1<<j) ) ? 0.5 : -0.5 ) * sz2 ;
243 (*self)[i].value().SetGeometry( x, sz2 );
249 self->add_children( emptyNode );
250 this->SetChildGeometry(
self );
255 self->add_children( emptyNode );
256 this->SetChildGeometry(
self );
259 #endif // __vtkLabelHierarchyPrivate_h