VTK
vtkXMLCompositeDataReader.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkXMLCompositeDataReader.h
5 
6  Copyright (c) Kitware, Inc.
7  All rights reserved.
8  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
28 #ifndef vtkXMLCompositeDataReader_h
29 #define vtkXMLCompositeDataReader_h
30 
31 #include "vtkIOXMLModule.h" // For export macro
32 #include "vtkXMLReader.h"
33 
37 //BTX
38 struct vtkXMLCompositeDataReaderInternals;
39 //ETX
40 
42 {
43 public:
45  void PrintSelf(ostream& os, vtkIndent indent);
46 
48 
52 
53 protected:
56 
57  // Get the name of the data set being read.
58  virtual const char* GetDataSetName();
59 
60  // Returns the primary element pass to ReadPrimaryElement().
62 
63  virtual void ReadXMLData();
64  virtual int ReadPrimaryElement(vtkXMLDataElement* ePrimary);
65 
66  // Setup the output with no data available. Used in error cases.
67  virtual void SetupEmptyOutput();
68 
70 
71  // Create a default executive.
73 
75 
79 
80 
81 
82  // Adds a child data object to the composite parent. childXML is the XML for
83  // the child data object need to obtain certain meta-data about the child.
85  vtkDataObject* child, vtkXMLDataElement* childXML);
86 
87  // Read the XML element for the subtree of a the composite dataset.
88  // dataSetIndex is used to rank the leaf nodes in an inorder traversal.
89  virtual void ReadComposite(vtkXMLDataElement* element,
90  vtkCompositeDataSet* composite, const char* filePath,
91  unsigned int &dataSetIndex)=0;
92 
93  // Read the vtkDataSet (a leaf) in the composite dataset.
94  virtual vtkDataSet* ReadDataset(vtkXMLDataElement* xmlElem, const char* filePath);
95 
96  // Counts "DataSet" elements in the subtree.
97  unsigned int CountLeaves(vtkXMLDataElement* elem);
98 
101  int ShouldReadDataSet(unsigned int datasetIndex);
102 
103 private:
104  vtkXMLCompositeDataReader(const vtkXMLCompositeDataReader&); // Not implemented.
105  void operator=(const vtkXMLCompositeDataReader&); // Not implemented.
106 
107  vtkXMLCompositeDataReaderInternals* Internal;
108 };
109 
110 #endif
vtkXMLCompositeDataReader::GetPrimaryElement
vtkXMLDataElement * GetPrimaryElement()
VTKIOXML_EXPORT
#define VTKIOXML_EXPORT
Definition: vtkIOXMLModule.h:15
vtkXMLCompositeDataReader::~vtkXMLCompositeDataReader
~vtkXMLCompositeDataReader()
vtkXMLCompositeDataReader::ShouldReadDataSet
int ShouldReadDataSet(unsigned int datasetIndex)
vtkXMLCompositeDataReader::SetupEmptyOutput
virtual void SetupEmptyOutput()
vtkXMLReader.h
vtkXMLCompositeDataReader::ReadDataset
virtual vtkDataSet * ReadDataset(vtkXMLDataElement *xmlElem, const char *filePath)
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkXMLCompositeDataReader::GetOutput
vtkCompositeDataSet * GetOutput()
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkXMLCompositeDataReader::GetDataSetName
virtual const char * GetDataSetName()
vtkXMLCompositeDataReader::FillOutputPortInformation
virtual int FillOutputPortInformation(int, vtkInformation *info)
vtkXMLCompositeDataReader::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkCompositeDataSet
abstract superclass for composite (multi-block or AMR) datasets
Definition: vtkCompositeDataSet.h:51
vtkXMLCompositeDataReader::vtkXMLCompositeDataReader
vtkXMLCompositeDataReader()
vtkIOXMLModule.h
vtkExecutive
Superclass for all pipeline executives in VTK.
Definition: vtkExecutive.h:52
vtkXMLCompositeDataReader
Reader for multi-group datasets.
Definition: vtkXMLCompositeDataReader.h:42
vtkXMLCompositeDataReader::ReadComposite
virtual void ReadComposite(vtkXMLDataElement *element, vtkCompositeDataSet *composite, const char *filePath, unsigned int &dataSetIndex)=0
vtkInformationIntegerKey
Key for integer values in vtkInformation.
Definition: vtkInformationIntegerKey.h:34
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkXMLDataElement
Represents an XML element and those nested inside.
Definition: vtkXMLDataElement.h:36
vtkXMLCompositeDataReader::ReadPrimaryElement
virtual int ReadPrimaryElement(vtkXMLDataElement *ePrimary)
vtkDataSet
abstract class to specify dataset behavior
Definition: vtkDataSet.h:62
vtkXMLCompositeDataReader::GetOutput
vtkCompositeDataSet * GetOutput(int)
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkXMLCompositeDataReader::CreateDefaultExecutive
virtual vtkExecutive * CreateDefaultExecutive()
vtkXMLCompositeDataReader::GetReaderOfType
vtkXMLReader * GetReaderOfType(const char *type)
vtkXMLCompositeDataReader::RequestInformation
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkXMLCompositeDataReader::AddChild
void AddChild(vtkCompositeDataSet *parent, vtkDataObject *child, vtkXMLDataElement *childXML)
vtkXMLCompositeDataReader::CountLeaves
unsigned int CountLeaves(vtkXMLDataElement *elem)
vtkInformationIntegerVectorKey
Key for integer vector values.
Definition: vtkInformationIntegerVectorKey.h:31
vtkXMLCompositeDataReader::ReadXMLData
virtual void ReadXMLData()
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:65
vtkgl::type
GLuint GLuint GLsizei GLenum type
Definition: vtkgl.h:11315
vtkXMLReader
Superclass for VTK's XML format readers.
Definition: vtkXMLReader.h:42