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:
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
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:55
a simple class to control print indentation
Definition: vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only polydata as output.
a dataset that is topologically regular with variable spacing in the three coordinate directions
generate isosurface from rectilinear grid
vtkMTimeType GetMTime() override
Because we delegate to vtkContourValues.
void GenerateValues(int numContours, double rangeStart, double rangeEnd)
Generate numContours equally spaced contour values between specified range.
double GetValue(int i)
Get the ith contour value.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void GetValues(double *contourValues)
Fill a supplied list with contour values.
void SetNumberOfContours(int number)
Set the number of contours to place into the list.
void GenerateValues(int numContours, double range[2])
Generate numContours equally spaced contour values between specified range.
void ComputeSpacing(vtkRectilinearGrid *data, int i, int j, int k, int extent[6], double spacing[6])
Compute the spacing between this point and its 6 neighbors.
int GetNumberOfContours()
Get the number of contours in the list of contour values.
static vtkRectilinearSynchronizedTemplates * New()
double * GetValues()
Get a pointer to an array of contour values.
@ info
Definition: vtkX3D.h:376
@ value
Definition: vtkX3D.h:220
@ port
Definition: vtkX3D.h:447
@ range
Definition: vtkX3D.h:238
@ extent
Definition: vtkX3D.h:345
@ spacing
Definition: vtkX3D.h:481
@ data
Definition: vtkX3D.h:315
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
int VTK_RECTILINEAR_SYNCHONIZED_TEMPLATES_TABLE_1[]
int VTK_RECTILINEAR_SYNCHONIZED_TEMPLATES_TABLE_2[]
vtkTypeUInt64 vtkMTimeType
Definition: vtkType.h:248