OSDN Git Service

FIRST REPOSITORY
[eos/hostdependOTHERS.git] / I386LINUX / util / I386LINUX / include / vtk / vtkPolyDataReader.h
1 /*=========================================================================
2
3   Program:   Visualization Toolkit
4   Module:    $RCSfile: vtkPolyDataReader.h,v $
5   Language:  C++
6   Date:      $Date: 2002/05/31 23:12:41 $
7   Version:   $Revision: 1.30 $
8
9   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
10   All rights reserved.
11   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
12
13      This software is distributed WITHOUT ANY WARRANTY; without even 
14      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
15      PURPOSE.  See the above copyright notice for more information.
16
17 =========================================================================*/
18 // .NAME vtkPolyDataReader - read vtk polygonal data file
19 // .SECTION Description
20 // vtkPolyDataReader is a source object that reads ASCII or binary 
21 // polygonal data files in vtk format (see text for format details).
22 // The output of this reader is a single vtkPolyData data object.
23 // The superclass of this class, vtkDataReader, provides many methods for
24 // controlling the reading of the data file, see vtkDataReader for more
25 // information.
26 // .SECTION Caveats
27 // Binary files written on one system may not be readable on other systems.
28 // .SECTION See Also
29 // vtkPolyData vtkDataReader
30
31 #ifndef __vtkPolyDataReader_h
32 #define __vtkPolyDataReader_h
33
34 #include "vtkDataReader.h"
35
36 class vtkPolyData;
37
38 class VTK_IO_EXPORT vtkPolyDataReader : public vtkDataReader
39 {
40 public:
41   static vtkPolyDataReader *New();
42   vtkTypeRevisionMacro(vtkPolyDataReader,vtkDataReader);
43   void PrintSelf(ostream& os, vtkIndent indent);
44
45   // Description:
46   // Get the output of this reader.
47   vtkPolyData *GetOutput();
48   vtkPolyData *GetOutput(int idx)
49     {return (vtkPolyData *) this->vtkSource::GetOutput(idx); };
50   void SetOutput(vtkPolyData *output);
51
52 protected:
53   vtkPolyDataReader();
54   ~vtkPolyDataReader();
55
56   void Execute();
57
58   // Update extent of PolyData is specified in pieces.  
59   // Since all DataObjects should be able to set UpdateExent as pieces,
60   // just copy output->UpdateExtent  all Inputs.
61   void ComputeInputUpdateExtents(vtkDataObject *output);
62   
63   // Used by streaming: The extent of the output being processed
64   // by the execute method. Set in the ComputeInputUpdateExtents method.
65   int ExecutePiece;
66   int ExecuteNumberOfPieces;
67   int ExecuteGhostLevel;
68 private:
69   vtkPolyDataReader(const vtkPolyDataReader&);  // Not implemented.
70   void operator=(const vtkPolyDataReader&);  // Not implemented.
71 };
72
73 #endif
74
75