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 vtkIncrementalPointLocator;
00064
00065 class VTK_IO_EXPORT vtkMCubesReader : public vtkPolyDataAlgorithm
00066 {
00067 public:
00068 vtkTypeMacro(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(vtkIncrementalPointLocator *locator);
00139 vtkGetObjectMacro(Locator,vtkIncrementalPointLocator);
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 vtkIncrementalPointLocator *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