dox/IO/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 =========================================================================*/
00052 #ifndef __vtkMCubesReader_h
00053 #define __vtkMCubesReader_h
00054 
00055 #include "vtkPolyDataSource.h"
00056 
00057 #define VTK_FILE_BYTE_ORDER_BIG_ENDIAN 0
00058 #define VTK_FILE_BYTE_ORDER_LITTLE_ENDIAN 1
00059 
00060 class vtkPointLocator;
00061 
00062 class VTK_IO_EXPORT vtkMCubesReader : public vtkPolyDataSource 
00063 {
00064 public:
00065   vtkTypeRevisionMacro(vtkMCubesReader,vtkPolyDataSource);
00066   void PrintSelf(ostream& os, vtkIndent indent);
00067 
00069   static vtkMCubesReader *New();
00070 
00072 
00073   vtkSetStringMacro(FileName);
00074   vtkGetStringMacro(FileName);
00076 
00078 
00079   vtkSetStringMacro(LimitsFileName);
00080   vtkGetStringMacro(LimitsFileName);
00082 
00084 
00086   vtkSetClampMacro(HeaderSize,int,0,VTK_LARGE_INTEGER);
00087   vtkGetMacro(HeaderSize,int);
00089 
00091 
00095   vtkSetMacro(FlipNormals,int);
00096   vtkGetMacro(FlipNormals,int);
00097   vtkBooleanMacro(FlipNormals,int);
00099 
00101 
00102   vtkSetMacro(Normals,int);
00103   vtkGetMacro(Normals,int);
00104   vtkBooleanMacro(Normals,int);
00106 
00108 
00118   void SetDataByteOrderToBigEndian();
00119   void SetDataByteOrderToLittleEndian();
00120   int GetDataByteOrder();
00121   void SetDataByteOrder(int);
00122   const char *GetDataByteOrderAsString();
00124 
00126 
00127   vtkSetMacro(SwapBytes,int);
00128   vtkGetMacro(SwapBytes,int);
00129   vtkBooleanMacro(SwapBytes,int);
00131 
00133 
00135   void SetLocator(vtkPointLocator *locator);
00136   vtkGetObjectMacro(Locator,vtkPointLocator);
00138 
00140   void CreateDefaultLocator();
00141   
00143   unsigned long GetMTime();
00144 
00145 protected:
00146   vtkMCubesReader();
00147   ~vtkMCubesReader();
00148 
00149   void Execute();
00150 
00151   char *FileName;
00152   char *LimitsFileName;
00153   vtkPointLocator *Locator;
00154   int SwapBytes;
00155   int HeaderSize;
00156   int FlipNormals;
00157   int Normals;
00158 
00159 private:
00160   vtkMCubesReader(const vtkMCubesReader&);  // Not implemented.
00161   void operator=(const vtkMCubesReader&);  // Not implemented.
00162 };
00163 
00164 #endif
00165 
00166