00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00056
#ifndef __vtkMCubesReader_h
00057
#define __vtkMCubesReader_h
00058
00059
#include "vtkPolyDataSource.h"
00060
00061 #define VTK_FILE_BYTE_ORDER_BIG_ENDIAN 0
00062 #define VTK_FILE_BYTE_ORDER_LITTLE_ENDIAN 1
00063
00064
class vtkPointLocator;
00065
00066 class VTK_IO_EXPORT vtkMCubesReader :
public vtkPolyDataSource
00067 {
00068
public:
00069 vtkTypeRevisionMacro(vtkMCubesReader,
vtkPolyDataSource);
00070
void PrintSelf(ostream& os,
vtkIndent indent);
00071
00073
static vtkMCubesReader *
New();
00074
00076
00077 vtkSetStringMacro(FileName);
00078 vtkGetStringMacro(FileName);
00080
00082
00083 vtkSetStringMacro(LimitsFileName);
00084 vtkGetStringMacro(LimitsFileName);
00086
00088
00090 vtkSetClampMacro(HeaderSize,
int,0,VTK_LARGE_INTEGER);
00091 vtkGetMacro(HeaderSize,
int);
00093
00095
00099 vtkSetMacro(FlipNormals,
int);
00100 vtkGetMacro(FlipNormals,
int);
00101 vtkBooleanMacro(FlipNormals,
int);
00103
00105
00106 vtkSetMacro(Normals,
int);
00107 vtkGetMacro(Normals,
int);
00108 vtkBooleanMacro(Normals,
int);
00110
00112
00122
void SetDataByteOrderToBigEndian();
00123
void SetDataByteOrderToLittleEndian();
00124
int GetDataByteOrder();
00125
void SetDataByteOrder(
int);
00126
const char *GetDataByteOrderAsString();
00128
00130
00131 vtkSetMacro(SwapBytes,
int);
00132 vtkGetMacro(SwapBytes,
int);
00133 vtkBooleanMacro(SwapBytes,
int);
00135
00137
00139
void SetLocator(
vtkPointLocator *locator);
00140 vtkGetObjectMacro(Locator,
vtkPointLocator);
00142
00144
void CreateDefaultLocator();
00145
00147
unsigned long GetMTime();
00148
00149
protected:
00150 vtkMCubesReader();
00151 ~vtkMCubesReader();
00152
00153
void Execute();
00154
00155 char *FileName;
00156 char *LimitsFileName;
00157 vtkPointLocator *Locator;
00158 int SwapBytes;
00159 int HeaderSize;
00160 int FlipNormals;
00161 int Normals;
00162
00163
private:
00164 vtkMCubesReader(
const vtkMCubesReader&);
00165
void operator=(
const vtkMCubesReader&);
00166 };
00167
00168
#endif
00169
00170