21#ifndef vtkUniformHyperTreeGrid_h
22#define vtkUniformHyperTreeGrid_h
29#include "vtkCommonDataModelModule.h"
32VTK_ABI_NAMESPACE_BEGIN
60 vtkSetVector3Macro(Origin,
double);
61 vtkGetVector3Macro(Origin,
double);
70 vtkGetVector3Macro(GridScale,
double);
136 void SetFixedCoordinates(
unsigned int axis,
double value) override;
142 void GetLevelZeroOriginAndSizeFromIndex(
vtkIdType,
double*,
double*) override;
147 void GetLevelZeroOriginFromIndex(
vtkIdType,
double*) override;
162 unsigned long GetActualMemorySizeBytes() override;
195 bool ComputedXCoordinates;
196 bool ComputedYCoordinates;
197 bool ComputedZCoordinates;
200 unsigned int FindDichotomic(
double value,
unsigned char dim,
double tol)
const
203 if (value < (this->Origin[dim] - tol) ||
204 value > (this->Origin[dim] + tol + this->GridScale[dim] * maxIdx))
206 return std::numeric_limits<unsigned int>::max();
209 long idx = std::round((value - this->Origin[dim]) / this->GridScale[dim]);
210 return std::min(std::max(idx, 0l),
static_cast<long>(maxIdx));
215 return this->FindDichotomic(value, 0, tolerance);
219 return this->FindDichotomic(value, 1, tolerance);
223 return this->FindDichotomic(value, 2, tolerance);
229 mutable std::shared_ptr<vtkHyperTreeGridScales>
Scales;
abstract superclass for arrays of numeric data
general representation of visualization data
dynamic, self-adjusting array of double
A specifalized type of vtkHyperTreeGrid for the case when root cells have uniform sizes in each direc...
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
const unsigned int * GetDimensions() const
Get dimensions of this rectilinear grid dataset.
A data object structured as a tree.
a simple class to control print indentation
#define VTK_UNIFORM_HYPER_TREE_GRID
#define VTK_SIZEHINT(...)