00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
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&);
00161
void operator=(
const vtkMCubesReader&);
00162 };
00163
00164
#endif
00165
00166