VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkMCubesReader.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 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&); // Not implemented. 00164 void operator=(const vtkMCubesReader&); // Not implemented. 00165 }; 00166 00167 #endif