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

IO/vtkBYUReader.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkBYUReader.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm 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 =========================================================================*/
00030 #ifndef __vtkBYUReader_h
00031 #define __vtkBYUReader_h
00032 
00033 #include "vtkPolyDataSource.h"
00034 
00035 class VTK_IO_EXPORT vtkBYUReader : public vtkPolyDataSource 
00036 {
00037 public:
00038   static vtkBYUReader *New();
00039 
00040   vtkTypeRevisionMacro(vtkBYUReader,vtkPolyDataSource);
00041   void PrintSelf(ostream& os, vtkIndent indent);
00042 
00044 
00045   vtkSetStringMacro(GeometryFileName);
00046   vtkGetStringMacro(GeometryFileName);
00048 
00050 
00051   virtual void SetFileName(const char* f) { this->SetGeometryFileName(f); }
00052   virtual char* GetFileName() { return this->GetGeometryFileName(); }
00054 
00056 
00057   vtkSetStringMacro(DisplacementFileName);
00058   vtkGetStringMacro(DisplacementFileName);
00060 
00062 
00063   vtkSetStringMacro(ScalarFileName);
00064   vtkGetStringMacro(ScalarFileName);
00066 
00068 
00069   vtkSetStringMacro(TextureFileName);
00070   vtkGetStringMacro(TextureFileName);
00072 
00074 
00075   vtkSetMacro(ReadDisplacement,int);
00076   vtkGetMacro(ReadDisplacement,int);
00077   vtkBooleanMacro(ReadDisplacement,int);
00079   
00081 
00082   vtkSetMacro(ReadScalar,int);
00083   vtkGetMacro(ReadScalar,int);
00084   vtkBooleanMacro(ReadScalar,int);
00086   
00088 
00090   vtkSetMacro(ReadTexture,int);
00091   vtkGetMacro(ReadTexture,int);
00092   vtkBooleanMacro(ReadTexture,int);
00094 
00096 
00097   vtkSetClampMacro(PartNumber,int,1,VTK_LARGE_INTEGER);
00098   vtkGetMacro(PartNumber,int);
00100 
00101 protected:
00102   vtkBYUReader();
00103   ~vtkBYUReader();
00104 
00105   void Execute();
00106   // This source does not know how to generate pieces yet.
00107   int ComputeDivisionExtents(vtkDataObject *output, 
00108                              int idx, int numDivisions);
00109 
00110   char *GeometryFileName;
00111   char *DisplacementFileName;
00112   char *ScalarFileName;
00113   char *TextureFileName;
00114   int ReadDisplacement;
00115   int ReadScalar;
00116   int ReadTexture;
00117   int PartNumber;
00118 
00119   void ReadGeometryFile(FILE *fp, int &numPts);
00120   void ReadDisplacementFile(int numPts);
00121   void ReadScalarFile(int numPts);
00122   void ReadTextureFile(int numPts);
00123 private:
00124   vtkBYUReader(const vtkBYUReader&);  // Not implemented.
00125   void operator=(const vtkBYUReader&);  // Not implemented.
00126 };
00127 
00128 #endif
00129 
00130