21 #ifndef vtkUniformHyperTreeGrid_h
22 #define vtkUniformHyperTreeGrid_h
29 #include "vtkCommonDataModelModule.h"
32 VTK_ABI_NAMESPACE_BEGIN
60 vtkSetVector3Macro(Origin,
double);
61 vtkGetVector3Macro(Origin,
double);
68 void SetGridScale(
double,
double,
double);
69 void SetGridScale(
double*);
70 vtkGetVector3Macro(GridScale,
double);
76 void SetGridScale(
double);
187 if (value < (this->Origin[dim] - tol) ||
188 value > (this->Origin[dim] + tol + this->GridScale[dim] * maxIdx))
193 long idx = std::round((value - this->Origin[dim]) / this->GridScale[dim]);
194 return std::min(
std::max(idx, 0l), static_cast<long>(maxIdx));
199 return this->FindDichotomic(value, 0, tolerance);
203 return this->FindDichotomic(value, 1, tolerance);
207 return this->FindDichotomic(value, 2, tolerance);
213 std::shared_ptr<vtkHyperTreeGridScales>
Scales;
220 VTK_ABI_NAMESPACE_END
virtual vtkDataArray * GetXCoordinates()
Set/Get the grid coordinates in the x-direction.
virtual unsigned long GetActualMemorySizeBytes()
Return the actual size of the data in bytes.
void Initialize() override
Restore data object to initial state.
virtual void SetZCoordinates(vtkDataArray *)
Set/Get the grid coordinates in the z-direction.
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
virtual void CopyCoordinates(const vtkHyperTreeGrid *output)
Utility methods to set coordinates.
virtual void SetXCoordinates(vtkDataArray *)
Set/Get the grid coordinates in the x-direction.
virtual void GetLevelZeroOriginAndSizeFromIndex(vtkIdType, double *, double *)
Convert the global index of a root to its Spatial coordinates origin and size.
virtual vtkDataArray * GetYCoordinates()
Set/Get the grid coordinates in the y-direction.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
dynamic, self-adjusting array of double
virtual void SetYCoordinates(vtkDataArray *)
Set/Get the grid coordinates in the y-direction.
virtual void SetFixedCoordinates(unsigned int axis, double value)
Utility methods to set coordinates.
static vtkHyperTreeGrid * New()
a simple class to control print indentation
void ShallowCopy(vtkDataObject *) override
Create shallow copy of hyper tree grid.
virtual void GetGridBounds(double bounds[6])
Return a pointer to the grid bounding box in the form (xmin,xmax, ymin,ymax, zmin,zmax).
abstract superclass for arrays of numeric data
void DeepCopy(vtkDataObject *) override
Create deep copy of hyper tree grid.
const unsigned int * GetDimensions() const
Get dimensions of this rectilinear grid dataset.
virtual void CopyStructure(vtkDataObject *)
Copy the internal geometric and topological structure of a vtkHyperTreeGrid object.
virtual vtkDataArray * GetZCoordinates()
Set/Get the grid coordinates in the z-direction.
A data object structured as a tree.
virtual vtkHyperTree * GetTree(vtkIdType index, bool create=false)
Return tree located at given index of hyper tree grid NB: This will construct a new HyperTree if grid...
Dynamic generation of scales for vtkHyperTree.
virtual void GetLevelZeroOriginFromIndex(vtkIdType, double *)
Convert the global index of a root to its Spatial coordinates origin and size.
general representation of visualization data