VTK
dox/IO/Geometry/vtkPlot3DMetaReader.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkPlot3DMetaReader.h,v $
00005 
00006   Copyright (c) Kitware, Inc.
00007   All rights reserved.
00008   See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00078 #ifndef __vtkPlot3DMetaReader_h
00079 #define __vtkPlot3DMetaReader_h
00080 
00081 #include "vtkIOGeometryModule.h" // For export macro
00082 #include "vtkMultiBlockDataSetAlgorithm.h"
00083 
00084 //BTX
00085 struct vtkPlot3DMetaReaderInternals;
00086 //ETX
00087 
00088 class vtkMultiBlockPLOT3DReader;
00089 
00090 namespace Json
00091 {
00092   class Value;
00093 }
00094 
00095 class VTKIOGEOMETRY_EXPORT vtkPlot3DMetaReader : public vtkMultiBlockDataSetAlgorithm
00096 {
00097 public:
00098   static vtkPlot3DMetaReader* New();
00099   vtkTypeMacro(vtkPlot3DMetaReader, vtkMultiBlockDataSetAlgorithm);
00100   void PrintSelf(ostream& os, vtkIndent indent);
00101 
00103 
00105   vtkSetStringMacro(FileName);
00106   vtkGetStringMacro(FileName);
00108 
00109 protected:
00110   vtkPlot3DMetaReader();
00111   ~vtkPlot3DMetaReader();
00112 
00113   virtual int RequestInformation(vtkInformation* request,
00114                                  vtkInformationVector** inputVector,
00115                                  vtkInformationVector* outputVector);
00116   virtual int RequestData(vtkInformation*,
00117                           vtkInformationVector**,
00118                           vtkInformationVector*);
00119 
00120 
00121   char* FileName;
00122 
00123   void SetAutoDetectFormat(Json::Value* value);
00124   void SetByteOrder(Json::Value* value);
00125   void SetPrecision(Json::Value* val);
00126   void SetMultiGrid(Json::Value* val);
00127   void SetFormat(Json::Value* val);
00128   void SetBlanking(Json::Value* val);
00129   void Set2D(Json::Value* val);
00130   void SetR(Json::Value* val);
00131   void SetGamma(Json::Value* val);
00132   void SetFileNames(Json::Value* val);
00133   void SetLanguage(Json::Value* val);
00134   void AddFunctions(Json::Value* val);
00135 
00136 private:
00137   vtkPlot3DMetaReader(const vtkPlot3DMetaReader&); // Not implemented.
00138   void operator=(const vtkPlot3DMetaReader&); // Not implemented.
00139 
00140   vtkMultiBlockPLOT3DReader* Reader;
00141   vtkPlot3DMetaReaderInternals* Internal;
00142 };
00143 
00144 #endif