Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# IO/vtkXMLPUnstructuredDataReader.h

Go to the documentation of this file.

    00001 /*=========================================================================
    00002
    00003   Program:   Visualization Toolkit
    00004   Module:    $RCSfile: vtkXMLPUnstructuredDataReader.h,v $
    00005   Language:  C++
    00006
    00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen
    00008   All rights reserved.
    00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
    00010
    00011      This software is distributed WITHOUT ANY WARRANTY; without even
    00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
    00013      PURPOSE.  See the above copyright notice for more information.
    00014
    00015 =========================================================================*/
    00039 #ifndef __vtkXMLPUnstructuredDataReader_h
    00040 #define __vtkXMLPUnstructuredDataReader_h
    00041
    00042 #include "vtkXMLPDataReader.h"
    00043
    00044 class vtkPointSet;
    00045 class vtkCellArray;
    00046 class vtkXMLUnstructuredDataReader;
    00047
    00048 class VTK_IO_EXPORT vtkXMLPUnstructuredDataReader : public vtkXMLPDataReader
    00049 {
    00050 public:
    00051   vtkTypeRevisionMacro(vtkXMLPUnstructuredDataReader,vtkXMLPDataReader);
    00052   void PrintSelf(ostream& os, vtkIndent indent);
    00053
    00054 protected:
    00055   vtkXMLPUnstructuredDataReader();
    00056   ~vtkXMLPUnstructuredDataReader();
    00057
    00058   vtkPointSet* GetOutputAsPointSet();
    00059   vtkPointSet* GetPieceInputAsPointSet(int piece);
    00060   virtual void SetupOutputTotals();
    00061   virtual void SetupNextPiece();
    00062   vtkIdType GetNumberOfPoints();
    00063   vtkIdType GetNumberOfCells();
    00064   void CopyArrayForPoints(vtkDataArray* inArray, vtkDataArray* outArray);
    00065
    00066   void SetupEmptyOutput();
    00067   void SetupOutputInformation();
    00068   void SetupOutputData();
    00069   virtual void GetOutputUpdateExtent(int& piece, int& numberOfPieces,
    00070                                      int& ghostLevel)=0;
    00071
    00072   // Pipeline execute data driver.  Called by vtkXMLReader.
    00073   void ReadXMLData();
    00074   int ReadPrimaryElement(vtkXMLDataElement* ePrimary);
    00075   void SetupUpdateExtent(int piece, int numberOfPieces, int ghostLevel);
    00076
    00077   int ReadPieceData();
    00078   void CopyCellArray(vtkIdType totalNumberOfCells, vtkCellArray* inCells,
    00079                      vtkCellArray* outCells);
    00080
    00081   // The update request.
    00082   int UpdatePiece;
    00083   int UpdateNumberOfPieces;
    00084   int UpdateGhostLevel;
    00085
    00086   // The range of pieces from the file that will form the UpdatePiece.
    00087   int StartPiece;
    00088   int EndPiece;
    00089   vtkIdType TotalNumberOfPoints;
    00090   vtkIdType TotalNumberOfCells;
    00091   vtkIdType StartPoint;
    00092
    00093   // The PPoints element with point information.
    00094   vtkXMLDataElement* PPointsElement;
    00095
    00096 private:
    00097   vtkXMLPUnstructuredDataReader(const vtkXMLPUnstructuredDataReader&);  // Not implemented.
    00098   void operator=(const vtkXMLPUnstructuredDataReader&);  // Not implemented.
    00099 };
    00100
    00101 #endif