42#ifndef vtkScalarTree_h
43#define vtkScalarTree_h
45#include "vtkCommonExecutionModelModule.h"
abstract class to specify cell behavior
abstract superclass for arrays of numeric data
abstract class to specify dataset behavior
list of point or cell ids
a simple class to control print indentation
abstract base class for most VTK objects
organize data according to scalar values (used to accelerate contouring operations)
virtual const vtkIdType * GetCellBatch(vtkIdType batchNum, vtkIdType &numCells)=0
Return the array of cell ids in the specified batch.
virtual void SetScalars(vtkDataArray *)
Build the tree from the points/cells and scalars defining the dataset and scalars provided.
virtual vtkIdType GetNumberOfCellBatches(double scalarValue)=0
Get the number of cell batches available for processing as a function of the specified scalar value.
virtual void Initialize()=0
Initialize locator.
virtual void BuildTree()=0
Construct the scalar tree from the dataset provided.
double GetScalarValue()
Return the current scalar value over which tree traversal is proceeding.
virtual void SetDataSet(vtkDataSet *)
Build the tree from the points/cells and scalars defining this dataset.
~vtkScalarTree() override
virtual void InitTraversal(double scalarValue)=0
Begin to traverse the cells based on a scalar value (serial traversal).
virtual vtkCell * GetNextCell(vtkIdType &cellId, vtkIdList *&ptIds, vtkDataArray *cellScalars)=0
Return the next cell that may contain scalar value specified to InitTraversal() (serial traversal).
void PrintSelf(ostream &os, vtkIndent indent) override
Standard type related macros and PrintSelf() method.
virtual void ShallowCopy(vtkScalarTree *stree)
This method is used to copy data members when cloning an instance of the class.
record modification and/or execution time
std::map< std::string, DataArray > DataSet
key: variable name, value: DataArray