MCPcopy Create free account
hub / github.com/Kitware/VTK / BuildFromBreadthFirstOrderDescriptor

Method BuildFromBreadthFirstOrderDescriptor

Common/DataModel/vtkHyperTree.cxx:195–236  ·  view source on GitHub ↗

---------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

193
194//---------------------------------------------------------------------------
195void vtkHyperTree::BuildFromBreadthFirstOrderDescriptor(
196 vtkBitArray* descriptor, vtkIdType numberOfBits, vtkIdType startIndex)
197{
198 this->Datas->ParentToElderChild.clear();
199 int numberOfDepths = 1;
200 vtkIdType numberOfCoarseVertices = 0;
201 vtkIdType numberOfVertices = 1;
202 if (!numberOfBits)
203 {
204 this->Datas->ParentToElderChild.emplace_back(std::numeric_limits<unsigned int>::max());
205 }
206 else
207 {
208 vtkIdType currentDepthSize = 1;
209 vtkIdType nextDepthSize = 0;
210 vtkIdType currentPositionAtDepth = 0;
211 for (vtkIdType id = startIndex; id < startIndex + numberOfBits; ++id)
212 {
213 if (descriptor->GetValue(id))
214 {
215 this->Datas->ParentToElderChild.emplace_back(numberOfVertices);
216 numberOfVertices += this->NumberOfChildren;
217 ++numberOfCoarseVertices;
218 nextDepthSize += this->NumberOfChildren;
219 }
220 else
221 {
222 this->Datas->ParentToElderChild.emplace_back(std::numeric_limits<unsigned int>::max());
223 }
224 if (++currentPositionAtDepth == currentDepthSize)
225 {
226 ++numberOfDepths;
227 currentDepthSize = nextDepthSize;
228 nextDepthSize = 0;
229 currentPositionAtDepth = 0;
230 }
231 }
232 }
233 this->Datas->NumberOfLevels = numberOfDepths;
234 this->Datas->NumberOfNodes = numberOfCoarseVertices;
235 this->Datas->NumberOfVertices = numberOfVertices;
236}
237
238//---------------------------------------------------------------------------
239void vtkHyperTree::InitializeForReader(vtkIdType numberOfLevels, vtkIdType nbVertices,

Callers 3

ReadTrees_2Method · 0.80
ReadHyperTreeGridDataMethod · 0.80
BuildOutputTreesMethod · 0.80

Calls 4

maxFunction · 0.50
clearMethod · 0.45
emplace_backMethod · 0.45
GetValueMethod · 0.45

Tested by

no test coverage detected