22 #ifndef vtkAMRBaseReader_h
23 #define vtkAMRBaseReader_h
25 #include "vtkIOAMRModule.h"
76 vtkSetMacro(MaxLevel,
int);
121 vtkGetStringMacro(FileName);
281 vtkObject* caller,
unsigned long eid,
void* clientdata,
void* calldata);
An abstract class that encapsulates common functionality for all AMR readers.
std::vector< int > BlockMap
void SetupBlockRequest(vtkInformation *outputInfo)
Initializes the request of blocks to be loaded.
int GetNumberOfCellArrays()
const char * GetPointArrayName(int index)
Get the name of the point or cell array with the given index in the input.
void GetAMRData(const int blockIdx, vtkUniformGrid *block, const char *fieldName)
Loads the AMR data corresponding to the given field name.
int RequestData(vtkInformation *vtkNotUsed(request), vtkInformationVector **vtkNotUsed(inputVector), vtkInformationVector *outputVector) override
Standard Pipeline methods, subclasses may override this method if needed.
vtkDataArraySelection * PointDataArraySelection
virtual void GetAMRGridPointData(const int blockIdx, vtkUniformGrid *block, const char *field)=0
Loads the block Point data.
vtkCallbackCommand * SelectionObserver
vtkDataArraySelection * CellDataArraySelection
virtual vtkUniformGrid * GetAMRGrid(const int blockIdx)=0
Loads the block according to the index w.r.t.
virtual int GetNumberOfBlocks()=0
Returns the total number of blocks.
vtkTypeBool EnableCaching
virtual void ReadMetaData()=0
Reads all the metadata from the file.
void LoadRequestedBlocks(vtkOverlappingAMR *amrds)
This method loads all the blocks in the BlockMap for the given process.
static void SelectionModifiedCallback(vtkObject *caller, unsigned long eid, void *clientdata, void *calldata)
Call-back registered with the SelectionObserver.
int GetCellArrayStatus(const char *name)
int GetBlockProcessId(const int blockIdx)
Returns the block process ID for the block corresponding to the given block index.
void LoadCellData(const int blockIdx, vtkUniformGrid *block)
A wrapper that loops over all cell arrays and loads the cell arrays that are enabled,...
virtual int GetBlockLevel(const int blockIdx)=0
Returns the block level for the given block.
bool IsCachingEnabled() const
void AssignAndLoadBlocks(vtkOverlappingAMR *amrds)
This method assigns blocks to processes using block-cyclic distribution.
bool IsBlockMine(const int blockIdx)
Determines if the block is owned by this process based on the the block index and total number of pro...
void SetPointArrayStatus(const char *name, int status)
void GetAMRPointData(const int blockIdx, vtkUniformGrid *block, const char *fieldName)
Loads the AMR point data corresponding to the given field name.
virtual int FillMetaData()=0
Loads all the AMR metadata & constructs the LevelIdxPair12InternalIdx datastructure which maps (level...
~vtkAMRBaseReader() override
int GetPointArrayStatus(const char *name)
Get/Set whether the point or cell array with the given name is to be read.
void InitializeArraySelections()
Initializes the array selections.
virtual void GetAMRGridData(const int blockIdx, vtkUniformGrid *block, const char *field)=0
Loads the block data.
int RequestInformation(vtkInformation *rqst, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called by the superclass.
vtkOverlappingAMR * Metadata
void Initialize()
Initializes the AMR reader.
virtual void SetFileName(const char *fileName)=0
void LoadPointData(const int blockIdx, vtkUniformGrid *block)
A wrapper that loops over point arrays and load the point arrays that are enabled,...
const char * GetCellArrayName(int index)
vtkAMRDataSetCache * Cache
void SetCellArrayStatus(const char *name, int status)
vtkMultiProcessController * Controller
virtual int GetNumberOfLevels()=0
Returns the total number of levels.
int FillOutputPortInformation(int port, vtkInformation *info) override
See algorithm for more info.
vtkUniformGrid * GetAMRBlock(const int blockIdx)
Loads the AMR block corresponding to the given index.
int GetNumberOfPointArrays()
Get the number of point or cell arrays available in the input.
virtual void SetUpDataArraySelections()=0
Initializes the PointDataArraySelection & CellDataArraySelection.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
A concrete implementation of vtkObject that provides functionality for caching AMR blocks.
supports function callbacks
Store on/off settings for data arrays for a vtkSource.
abstract superclass for arrays of numeric data
a simple class to control print indentation
Multiprocessing communication superclass.
abstract base class for most VTK objects
A base class for all algorithms that take as input vtkOverlappingAMR and produce vtkOverlappingAMR.
hierarchical dataset of vtkUniformGrids