VTK
vtkSynchronizedTemplates3D.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkSynchronizedTemplates3D.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 =========================================================================*/
31 #ifndef vtkSynchronizedTemplates3D_h
32 #define vtkSynchronizedTemplates3D_h
33 
34 #include "vtkFiltersCoreModule.h" // For export macro
35 #include "vtkPolyDataAlgorithm.h"
36 #include "vtkContourValues.h" // Passes calls through
37 
38 class vtkImageData;
39 
40 class VTKFILTERSCORE_EXPORT vtkSynchronizedTemplates3D : public vtkPolyDataAlgorithm
41 {
42 public:
44 
46  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
47 
51  vtkMTimeType GetMTime() VTK_OVERRIDE;
52 
54 
60  vtkSetMacro(ComputeNormals,int);
61  vtkGetMacro(ComputeNormals,int);
62  vtkBooleanMacro(ComputeNormals,int);
64 
66 
74  vtkSetMacro(ComputeGradients,int);
75  vtkGetMacro(ComputeGradients,int);
76  vtkBooleanMacro(ComputeGradients,int);
78 
80 
83  vtkSetMacro(ComputeScalars,int);
84  vtkGetMacro(ComputeScalars,int);
85  vtkBooleanMacro(ComputeScalars,int);
87 
89 
93  vtkSetMacro(GenerateTriangles,int);
94  vtkGetMacro(GenerateTriangles,int);
95  vtkBooleanMacro(GenerateTriangles,int);
97 
102  void SetValue(int i, double value) {this->ContourValues->SetValue(i,value);}
103 
107  double GetValue(int i) {return this->ContourValues->GetValue(i);}
108 
113  double *GetValues() {return this->ContourValues->GetValues();}
114 
120  void GetValues(double *contourValues) {
121  this->ContourValues->GetValues(contourValues);}
122 
128  void SetNumberOfContours(int number) {
129  this->ContourValues->SetNumberOfContours(number);}
130 
135  return this->ContourValues->GetNumberOfContours();}
136 
141  void GenerateValues(int numContours, double range[2]) {
142  this->ContourValues->GenerateValues(numContours, range);}
143 
148  void GenerateValues(int numContours, double rangeStart, double rangeEnd)
149  {this->ContourValues->GenerateValues(numContours, rangeStart, rangeEnd);}
150 
151  void ThreadedExecute(vtkImageData *data,
152  vtkInformation *inInfo,
153  vtkInformation *outInfo,
154  vtkDataArray *inScalars);
155 
157 
162  void SetInputMemoryLimit(unsigned long limit);
163  unsigned long GetInputMemoryLimit();
165 
167 
170  vtkSetMacro(ArrayComponent, int);
171  vtkGetMacro(ArrayComponent, int);
173 
174 protected:
176  ~vtkSynchronizedTemplates3D() VTK_OVERRIDE;
177 
178  int ComputeNormals;
179  int ComputeGradients;
180  int ComputeScalars;
181  vtkContourValues *ContourValues;
182 
183  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
184  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
185  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
186 
187  int ArrayComponent;
188 
189  int GenerateTriangles;
190 
191 private:
192  vtkSynchronizedTemplates3D(const vtkSynchronizedTemplates3D&) VTK_DELETE_FUNCTION;
193  void operator=(const vtkSynchronizedTemplates3D&) VTK_DELETE_FUNCTION;
194 };
195 
196 
197 // template table.
198 
199 extern int VTKFILTERSCORE_EXPORT VTK_SYNCHRONIZED_TEMPLATES_3D_TABLE_1[];
200 extern int VTKFILTERSCORE_EXPORT VTK_SYNCHRONIZED_TEMPLATES_3D_TABLE_2[];
201 
202 #endif
203 
helper object to manage setting and generating contour values
void SetNumberOfContours(int number)
Set the number of contours to place into the list.
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:300
int VTKFILTERSCORE_EXPORT VTK_SYNCHRONIZED_TEMPLATES_3D_TABLE_2[]
double GetValue(int i)
Get the ith contour value.
double * GetValues()
Get a pointer to an array of contour values.
generate isosurface from structured points
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:33
topologically and geometrically regular array of data
Definition: vtkImageData.h:39
int VTKFILTERSCORE_EXPORT VTK_SYNCHRONIZED_TEMPLATES_3D_TABLE_1[]
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:48
virtual vtkMTimeType GetMTime()
Return this object's modified time.
void GetValues(double *contourValues)
Fill a supplied list with contour values.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
void GenerateValues(int numContours, double range[2])
Generate numContours equally spaced contour values between specified range.
Store zero or more vtkInformation instances.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
int GetNumberOfContours()
Get the number of contours in the list of contour values.
void GenerateValues(int numContours, double rangeStart, double rangeEnd)
Generate numContours equally spaced contour values between specified range.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.