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 "vtkIOGeometryModule.h" // For export macro 00059 #include "vtkPolyDataAlgorithm.h" 00060 00061 #define VTK_FILE_BYTE_ORDER_BIG_ENDIAN 0 00062 #define VTK_FILE_BYTE_ORDER_LITTLE_ENDIAN 1 00063 00064 class vtkIncrementalPointLocator; 00065 00066 class VTKIOGEOMETRY_EXPORT vtkMCubesReader : public vtkPolyDataAlgorithm 00067 { 00068 public: 00069 vtkTypeMacro(vtkMCubesReader,vtkPolyDataAlgorithm); 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_INT_MAX); 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(vtkIncrementalPointLocator *locator); 00140 vtkGetObjectMacro(Locator,vtkIncrementalPointLocator); 00142 00144 void CreateDefaultLocator(); 00145 00147 unsigned long GetMTime(); 00148 00149 protected: 00150 vtkMCubesReader(); 00151 ~vtkMCubesReader(); 00152 00153 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00154 00155 char *FileName; 00156 char *LimitsFileName; 00157 vtkIncrementalPointLocator *Locator; 00158 int SwapBytes; 00159 int HeaderSize; 00160 int FlipNormals; 00161 int Normals; 00162 00163 private: 00164 vtkMCubesReader(const vtkMCubesReader&); // Not implemented. 00165 void operator=(const vtkMCubesReader&); // Not implemented. 00166 }; 00167 00168 #endif