21#ifndef vtkCellGridRangeQuery_h
22#define vtkCellGridRangeQuery_h
30VTK_ABI_NAMESPACE_BEGIN
42 vtkSetMacro(Component,
int);
43 vtkGetMacro(Component,
int);
71 const std::array<double, 2>&
GetRange(
int component)
const;
74 return this->GetRange(this->Component, range);
76 inline const std::array<double, 2>&
GetRange()
const {
return this->
GetRange(this->Component); }
81 void AddRange(
const std::array<double, 2>& other);
85 void AddRange(
int component,
const std::array<double, 2>& other);
108 using CacheMap = std::map<vtkCellAttribute*, std::vector<ComponentRange>>;
118 std::vector<std::array<double, 2>>
Ranges;
A function defined over the physical domain of a vtkCellGrid.
Perform an operation on cells in a vtkCellMetadata instance.
Compute the range of a component of some vtkCellAttribute.
std::map< vtkCellAttribute *, std::vector< ComponentRange > > CacheMap
void GetRange(double *range)
~vtkCellGridRangeQuery() override
void GetRange(int component, double *range)
Return the computed range (after the query is evaluated).
bool Finalize() override
Invoked during evaluation after all cell-grid responders are run.
void AddRange(const std::array< double, 2 > &other)
Used by query-responders to update the range during evaluation.
bool Initialize() override
Invoked during evaluation before any cell-grid responders are run.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkCellGridRangeQuery()=default
void AddRange(int component, const std::array< double, 2 > &other)
This is an additional call that responders can use to provide range for components not currently quer...
const std::array< double, 2 > & GetRange() const
std::vector< std::array< double, 2 > > Ranges
static vtkCellGridRangeQuery * New()
virtual void SetCellGrid(vtkCellGrid *grid)
Set/get the cell-grid that holds the cell-attribute's arrays.
const std::array< double, 2 > & GetRange(int component) const
Visualization data composed of cells of arbitrary type.
a simple class to control print indentation
record modification and/or execution time
Store the finite/entire range for a single component of a cell-attribute.
vtkTimeStamp FiniteRangeTime
When was the finite range last computed?
std::array< double, 2 > EntireRange
What is the true range (including possible NaN or Inf values)?
std::array< double, 2 > FiniteRange
What is the finite-valued range?
vtkTimeStamp EntireRangeTime
When was the entire range last computed?
#define VTK_SIZEHINT(...)