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

IO/vtkMCubesReader.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkMCubesReader.h,v $
00005   Language:  C++
00006 
00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
00008   All rights reserved.
00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00010 
00011      This software is distributed WITHOUT ANY WARRANTY; without even 
00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00013      PURPOSE.  See the above copyright notice for more information.
00014 
00015 =========================================================================*/
00069 #ifndef __vtkMCubesReader_h
00070 #define __vtkMCubesReader_h
00071 
00072 #include "vtkPolyDataSource.h"
00073 
00074 #define VTK_FILE_BYTE_ORDER_BIG_ENDIAN 0
00075 #define VTK_FILE_BYTE_ORDER_LITTLE_ENDIAN 1
00076 
00077 class vtkPointLocator;
00078 
00079 class VTK_IO_EXPORT vtkMCubesReader : public vtkPolyDataSource 
00080 {
00081 public:
00082   vtkTypeRevisionMacro(vtkMCubesReader,vtkPolyDataSource);
00083   void PrintSelf(ostream& os, vtkIndent indent);
00084 
00086   static vtkMCubesReader *New();
00087 
00089 
00090   vtkSetStringMacro(FileName);
00091   vtkGetStringMacro(FileName);
00093 
00095 
00096   vtkSetStringMacro(LimitsFileName);
00097   vtkGetStringMacro(LimitsFileName);
00099 
00101 
00103   vtkSetClampMacro(HeaderSize,int,0,VTK_LARGE_INTEGER);
00104   vtkGetMacro(HeaderSize,int);
00106 
00108 
00112   vtkSetMacro(FlipNormals,int);
00113   vtkGetMacro(FlipNormals,int);
00114   vtkBooleanMacro(FlipNormals,int);
00116 
00118 
00119   vtkSetMacro(Normals,int);
00120   vtkGetMacro(Normals,int);
00121   vtkBooleanMacro(Normals,int);
00123 
00125 
00135   void SetDataByteOrderToBigEndian();
00136   void SetDataByteOrderToLittleEndian();
00137   int GetDataByteOrder();
00138   void SetDataByteOrder(int);
00139   const char *GetDataByteOrderAsString();
00141 
00143 
00144   vtkSetMacro(SwapBytes,int);
00145   vtkGetMacro(SwapBytes,int);
00146   vtkBooleanMacro(SwapBytes,int);
00148 
00150 
00152   void SetLocator(vtkPointLocator *locator);
00153   vtkGetObjectMacro(Locator,vtkPointLocator);
00155 
00157   void CreateDefaultLocator();
00158   
00160   unsigned long GetMTime();
00161 
00162 protected:
00163   vtkMCubesReader();
00164   ~vtkMCubesReader();
00165 
00166   void Execute();
00167 
00168   char *FileName;
00169   char *LimitsFileName;
00170   vtkPointLocator *Locator;
00171   int SwapBytes;
00172   int HeaderSize;
00173   int FlipNormals;
00174   int Normals;
00175 
00176 private:
00177   vtkMCubesReader(const vtkMCubesReader&);  // Not implemented.
00178   void operator=(const vtkMCubesReader&);  // Not implemented.
00179 };
00180 
00181 #endif
00182 
00183