VTK
vtkMCubesReader.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkMCubesReader.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
53 #ifndef vtkMCubesReader_h
54 #define vtkMCubesReader_h
55 
56 #include "vtkIOGeometryModule.h" // For export macro
57 #include "vtkPolyDataAlgorithm.h"
58 
59 #define VTK_FILE_BYTE_ORDER_BIG_ENDIAN 0
60 #define VTK_FILE_BYTE_ORDER_LITTLE_ENDIAN 1
61 
63 
64 class VTKIOGEOMETRY_EXPORT vtkMCubesReader : public vtkPolyDataAlgorithm
65 {
66 public:
68  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
69 
73  static vtkMCubesReader *New();
74 
76 
79  vtkSetStringMacro(FileName);
80  vtkGetStringMacro(FileName);
82 
84 
87  vtkSetStringMacro(LimitsFileName);
88  vtkGetStringMacro(LimitsFileName);
90 
92 
95  vtkSetClampMacro(HeaderSize,int,0,VTK_INT_MAX);
96  vtkGetMacro(HeaderSize,int);
98 
100 
106  vtkSetMacro(FlipNormals,int);
107  vtkGetMacro(FlipNormals,int);
108  vtkBooleanMacro(FlipNormals,int);
110 
112 
115  vtkSetMacro(Normals,int);
116  vtkGetMacro(Normals,int);
117  vtkBooleanMacro(Normals,int);
119 
121 
134  void SetDataByteOrderToBigEndian();
135  void SetDataByteOrderToLittleEndian();
136  int GetDataByteOrder();
137  void SetDataByteOrder(int);
138  const char *GetDataByteOrderAsString();
140 
142 
145  vtkSetMacro(SwapBytes,int);
146  vtkGetMacro(SwapBytes,int);
147  vtkBooleanMacro(SwapBytes,int);
149 
151 
155  void SetLocator(vtkIncrementalPointLocator *locator);
156  vtkGetObjectMacro(Locator,vtkIncrementalPointLocator);
158 
162  void CreateDefaultLocator();
163 
167  vtkMTimeType GetMTime() VTK_OVERRIDE;
168 
169 protected:
170  vtkMCubesReader();
171  ~vtkMCubesReader() VTK_OVERRIDE;
172 
173  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
174 
175  char *FileName;
176  char *LimitsFileName;
178  int SwapBytes;
179  int HeaderSize;
180  int FlipNormals;
181  int Normals;
182 
183 private:
184  vtkMCubesReader(const vtkMCubesReader&) VTK_DELETE_FUNCTION;
185  void operator=(const vtkMCubesReader&) VTK_DELETE_FUNCTION;
186 };
187 
188 #endif
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:300
#define VTK_INT_MAX
Definition: vtkType.h:157
Abstract class in support of both point location and point insertion.
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:33
virtual vtkMTimeType GetMTime()
Return this object's modified time.
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
read binary marching cubes file
Store zero or more vtkInformation instances.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.