40#ifndef vtkXMLCompositeDataReader_h
41#define vtkXMLCompositeDataReader_h
43#include "vtkIOXMLModule.h"
46VTK_ABI_NAMESPACE_BEGIN
50struct vtkXMLCompositeDataReaderInternals;
56VTK_ABI_NAMESPACE_BEGIN
82 vtkGetMacro(PieceDistribution,
int);
133 const char* filePath,
unsigned int& dataSetIndex) = 0;
151 unsigned int datasetIndex,
unsigned int pieceIndex = 0,
unsigned int numPieces = 0);
159 const std::set<std::string>& exclusions = std::set<std::string>());
193 static int GetPieceAssignmentForBlockStrategy(
194 unsigned int datasetIndex,
unsigned int numDatasets,
int numPieces);
195 static int GetPieceAssignmentForInterleaveStrategy(
196 unsigned int datasetIndex,
unsigned int numDatasets,
int numPieces);
199 int PieceDistribution;
201 vtkXMLCompositeDataReaderInternals* Internal;
abstract superclass for composite (multi-block or AMR) datasets
general representation of visualization data
abstract class to specify dataset behavior
Superclass for all pipeline executives in VTK.
a simple class to control print indentation
Hold a reference to a vtkObjectBase instance.
std::string GetFilePath()
virtual void SyncCompositeDataArraySelections(vtkCompositeDataSet *composite, vtkXMLDataElement *element, const std::string &filePath)=0
Recursively synchronize the data array selection of the reader for the file specified in the XML elem...
vtkXMLDataElement * GetPrimaryElement()
vtkCompositeDataSet * GetOutput(int)
Get the output data object for a port on this algorithm.
int FillOutputPortInformation(int, vtkInformation *info) override
Fill the output port information objects for this algorithm.
vtkCompositeDataSet * GetOutput()
Get the output data object for a port on this algorithm.
virtual void PrepareToCreateMetaData(vtkXMLDataElement *ePrimary)
Prepare to create the meta-data from the composite dataset from the file.
void SetupEmptyOutput() override
Setup the output with no data available.
virtual void ReadComposite(vtkXMLDataElement *element, vtkCompositeDataSet *composite, const char *filePath, unsigned int &dataSetIndex)=0
virtual vtkDataObject * ReadDataObject(vtkXMLDataElement *xmlElem, const char *filePath)
int ShouldReadDataSet(unsigned int datasetIndex, unsigned int pieceIndex=0, unsigned int numPieces=0)
Given the inorder index for a leaf node, this method tells if the current process should read the dat...
vtkSmartPointer< vtkCompositeDataSet > Metadata
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static unsigned int CountNestedElements(vtkXMLDataElement *element, const std::string &tagName, const std::set< std::string > &exclusions=std::set< std::string >())
Convenience method to count all nested elements with the given tag name.
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
virtual void CreateMetaData(vtkXMLDataElement *ePrimary)=0
Create the meta-data from the composite dataset from the file.
virtual vtkDataSet * ReadDataset(vtkXMLDataElement *xmlElem, const char *filePath)
const char * GetDataSetName() override
Get the name of the data set being read.
void ReadXMLData() override
Pipeline execution methods to be defined by subclass.
void SyncDataArraySelections(vtkXMLReader *accum, vtkXMLDataElement *xmlElem, const std::string &filePath)
void SetFileName(const char *) override
int ReadPrimaryElement(vtkXMLDataElement *ePrimary) override
Read the primary element from the file.
std::string GetFileNameFromXML(vtkXMLDataElement *xmlElem, const std::string &filePath)
vtkXMLReader * GetReaderOfType(const char *type)
vtkExecutive * CreateDefaultExecutive() override
Create a default executive.
vtkXMLReader * GetReaderForFile(const std::string &filename)
~vtkXMLCompositeDataReader() override
vtkXMLCompositeDataReader()
Represents an XML element and those nested inside.