00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00055 #ifndef __vtkMCubesReader_h
00056 #define __vtkMCubesReader_h
00057 
00058 #include "vtkPolyDataAlgorithm.h"
00059 
00060 #define VTK_FILE_BYTE_ORDER_BIG_ENDIAN 0
00061 #define VTK_FILE_BYTE_ORDER_LITTLE_ENDIAN 1
00062 
00063 class vtkPointLocator;
00064 
00065 class VTK_IO_EXPORT vtkMCubesReader : public vtkPolyDataAlgorithm 
00066 {
00067 public:
00068   vtkTypeRevisionMacro(vtkMCubesReader,vtkPolyDataAlgorithm);
00069   void PrintSelf(ostream& os, vtkIndent indent);
00070 
00072   static vtkMCubesReader *New();
00073 
00075 
00076   vtkSetStringMacro(FileName);
00077   vtkGetStringMacro(FileName);
00079 
00081 
00082   vtkSetStringMacro(LimitsFileName);
00083   vtkGetStringMacro(LimitsFileName);
00085 
00087 
00089   vtkSetClampMacro(HeaderSize,int,0,VTK_LARGE_INTEGER);
00090   vtkGetMacro(HeaderSize,int);
00092 
00094 
00098   vtkSetMacro(FlipNormals,int);
00099   vtkGetMacro(FlipNormals,int);
00100   vtkBooleanMacro(FlipNormals,int);
00102 
00104 
00105   vtkSetMacro(Normals,int);
00106   vtkGetMacro(Normals,int);
00107   vtkBooleanMacro(Normals,int);
00109 
00111 
00121   void SetDataByteOrderToBigEndian();
00122   void SetDataByteOrderToLittleEndian();
00123   int GetDataByteOrder();
00124   void SetDataByteOrder(int);
00125   const char *GetDataByteOrderAsString();
00127 
00129 
00130   vtkSetMacro(SwapBytes,int);
00131   vtkGetMacro(SwapBytes,int);
00132   vtkBooleanMacro(SwapBytes,int);
00134 
00136 
00138   void SetLocator(vtkPointLocator *locator);
00139   vtkGetObjectMacro(Locator,vtkPointLocator);
00141 
00143   void CreateDefaultLocator();
00144   
00146   unsigned long GetMTime();
00147 
00148 protected:
00149   vtkMCubesReader();
00150   ~vtkMCubesReader();
00151 
00152   int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00153 
00154   char *FileName;
00155   char *LimitsFileName;
00156   vtkPointLocator *Locator;
00157   int SwapBytes;
00158   int HeaderSize;
00159   int FlipNormals;
00160   int Normals;
00161 
00162 private:
00163   vtkMCubesReader(const vtkMCubesReader&);  
00164   void operator=(const vtkMCubesReader&);  
00165 };
00166 
00167 #endif