VTK
vtkRectilinearSynchronizedTemplates.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkRectilinearSynchronizedTemplates.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 =========================================================================*/
34 #ifndef vtkRectilinearSynchronizedTemplates_h
35 #define vtkRectilinearSynchronizedTemplates_h
36 
37 #include "vtkFiltersCoreModule.h" // For export macro
38 #include "vtkPolyDataAlgorithm.h"
39 #include "vtkContourValues.h" // Passes calls through
40 
41 class vtkRectilinearGrid;
42 class vtkDataArray;
43 
44 class VTKFILTERSCORE_EXPORT vtkRectilinearSynchronizedTemplates : public vtkPolyDataAlgorithm
45 {
46 public:
48 
50  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
51 
55  vtkMTimeType GetMTime() VTK_OVERRIDE;
56 
58 
64  vtkSetMacro(ComputeNormals,int);
65  vtkGetMacro(ComputeNormals,int);
66  vtkBooleanMacro(ComputeNormals,int);
68 
70 
78  vtkSetMacro(ComputeGradients,int);
79  vtkGetMacro(ComputeGradients,int);
80  vtkBooleanMacro(ComputeGradients,int);
82 
84 
87  vtkSetMacro(ComputeScalars,int);
88  vtkGetMacro(ComputeScalars,int);
89  vtkBooleanMacro(ComputeScalars,int);
91 
96  void SetValue(int i, double value) {this->ContourValues->SetValue(i,value);}
97 
101  double GetValue(int i) {return this->ContourValues->GetValue(i);}
102 
107  double *GetValues() {return this->ContourValues->GetValues();}
108 
114  void GetValues(double *contourValues) {
115  this->ContourValues->GetValues(contourValues);}
116 
122  void SetNumberOfContours(int number) {
123  this->ContourValues->SetNumberOfContours(number);}
124 
129  return this->ContourValues->GetNumberOfContours();}
130 
135  void GenerateValues(int numContours, double range[2]) {
136  this->ContourValues->GenerateValues(numContours, range);}
137 
142  void GenerateValues(int numContours, double rangeStart, double rangeEnd)
143  {this->ContourValues->GenerateValues(numContours, rangeStart, rangeEnd);}
144 
146 
149  vtkSetMacro(ArrayComponent, int);
150  vtkGetMacro(ArrayComponent, int);
152 
154 
158  vtkSetMacro(GenerateTriangles,int);
159  vtkGetMacro(GenerateTriangles,int);
160  vtkBooleanMacro(GenerateTriangles,int);
162 
167  void ComputeSpacing(vtkRectilinearGrid *data, int i, int j, int k,
168  int extent[6], double spacing[6]);
169 
170 protected:
172  ~vtkRectilinearSynchronizedTemplates() VTK_OVERRIDE;
173 
174  int ComputeNormals;
175  int ComputeGradients;
176  int ComputeScalars;
177  int GenerateTriangles;
178 
179  vtkContourValues *ContourValues;
180 
181  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
182  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
183  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
184 
185  int ArrayComponent;
186 
187  void* GetScalarsForExtent(vtkDataArray *array, int extent[6],
188  vtkRectilinearGrid *input);
189 
190 private:
192  void operator=(const vtkRectilinearSynchronizedTemplates&) VTK_DELETE_FUNCTION;
193 };
194 
195 // template table.
196 
199 
200 #endif
helper object to manage setting and generating contour values
a dataset that is topologically regular with variable spacing in the three coordinate directions ...
int VTK_RECTILINEAR_SYNCHONIZED_TEMPLATES_TABLE_1[]
Store vtkAlgorithm input/output information.
int VTK_RECTILINEAR_SYNCHONIZED_TEMPLATES_TABLE_2[]
double GetValue(int i)
Get the ith contour value.
void GenerateValues(int numContours, double rangeStart, double rangeEnd)
Generate numContours equally spaced contour values between specified range.
vtkTypeUInt64 vtkMTimeType
Definition: vtkType.h:248
void GetValues(double *contourValues)
Fill a supplied list with contour values.
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:39
int GetNumberOfContours()
Get the number of contours in the list of contour values.
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:54
virtual vtkMTimeType GetMTime()
Return this object's modified time.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
void SetNumberOfContours(int number)
Set the number of contours to place into the list.
double * GetValues()
Get a pointer to an array of contour values.
generate isosurface from rectilinear grid
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.
void GenerateValues(int numContours, double range[2])
Generate numContours equally spaced contour values between specified range.