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

vtkMCubesReader.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkMCubesReader.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 =========================================================================*/
00068 #ifndef __vtkMCubesReader_h
00069 #define __vtkMCubesReader_h
00070 
00071 #include "vtkPolyDataSource.h"
00072 
00073 #define VTK_FILE_BYTE_ORDER_BIG_ENDIAN 0
00074 #define VTK_FILE_BYTE_ORDER_LITTLE_ENDIAN 1
00075 
00076 class vtkPointLocator;
00077 
00078 class VTK_IO_EXPORT vtkMCubesReader : public vtkPolyDataSource 
00079 {
00080 public:
00081   vtkTypeRevisionMacro(vtkMCubesReader,vtkPolyDataSource);
00082   void PrintSelf(ostream& os, vtkIndent indent);
00083 
00085   static vtkMCubesReader *New();
00086 
00088 
00089   vtkSetStringMacro(FileName);
00090   vtkGetStringMacro(FileName);
00092 
00094 
00095   vtkSetStringMacro(LimitsFileName);
00096   vtkGetStringMacro(LimitsFileName);
00098 
00100 
00102   vtkSetClampMacro(HeaderSize,int,0,VTK_LARGE_INTEGER);
00103   vtkGetMacro(HeaderSize,int);
00105 
00107 
00111   vtkSetMacro(FlipNormals,int);
00112   vtkGetMacro(FlipNormals,int);
00113   vtkBooleanMacro(FlipNormals,int);
00115 
00117 
00118   vtkSetMacro(Normals,int);
00119   vtkGetMacro(Normals,int);
00120   vtkBooleanMacro(Normals,int);
00122 
00124 
00134   void SetDataByteOrderToBigEndian();
00135   void SetDataByteOrderToLittleEndian();
00136   int GetDataByteOrder();
00137   void SetDataByteOrder(int);
00138   const char *GetDataByteOrderAsString();
00140 
00142 
00143   vtkSetMacro(SwapBytes,int);
00144   vtkGetMacro(SwapBytes,int);
00145   vtkBooleanMacro(SwapBytes,int);
00147 
00149 
00151   void SetLocator(vtkPointLocator *locator);
00152   vtkGetObjectMacro(Locator,vtkPointLocator);
00154 
00156   void CreateDefaultLocator();
00157   
00159   unsigned long GetMTime();
00160 
00161 protected:
00162   vtkMCubesReader();
00163   ~vtkMCubesReader();
00164 
00165   void Execute();
00166 
00167   char *FileName;
00168   char *LimitsFileName;
00169   vtkPointLocator *Locator;
00170   int SwapBytes;
00171   int HeaderSize;
00172   int FlipNormals;
00173   int Normals;
00174 
00175 private:
00176   vtkMCubesReader(const vtkMCubesReader&);  // Not implemented.
00177   void operator=(const vtkMCubesReader&);  // Not implemented.
00178 };
00179 
00180 #endif
00181 
00182