29 #ifndef vtkHyperTreeGridScales_h
30 #define vtkHyperTreeGridScales_h
42 : BranchFactor(branchfactor)
61 return this->CellScales.data() + 3 *
level;
70 return this->CellScales[3 *
level + 0];
79 return this->CellScales[3 *
level + 1];
88 return this->CellScales[3 *
level + 2];
97 memcpy(
scale, this->CellScales.data() + 3 *
level, 3 *
sizeof(
double));
111 void Update(
unsigned int level)
const
113 if (level < this->CurrentFailLevel)
117 this->CurrentFailLevel =
level + 1;
118 this->CellScales.resize(3 * this->CurrentFailLevel);
119 auto current = this->CellScales.begin() + 3 * (this->CurrentFailLevel - 1);
121 auto end = this->CellScales.end();
122 for (; current != end; ++current, ++
previous)
124 *current = *
previous / this->BranchFactor;
131 const double BranchFactor;
136 mutable unsigned int CurrentFailLevel;
137 mutable std::vector<double> CellScales;