00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00033 #ifndef __vtkSynchronizedTemplates3D_h
00034 #define __vtkSynchronizedTemplates3D_h
00035
00036 #include "vtkPolyDataAlgorithm.h"
00037 #include "vtkContourValues.h"
00038
00039 class vtkImageData;
00040
00041 class VTK_GRAPHICS_EXPORT vtkSynchronizedTemplates3D : public vtkPolyDataAlgorithm
00042 {
00043 public:
00044 static vtkSynchronizedTemplates3D *New();
00045
00046 vtkTypeRevisionMacro(vtkSynchronizedTemplates3D,vtkPolyDataAlgorithm);
00047 void PrintSelf(ostream& os, vtkIndent indent);
00048
00050 unsigned long int GetMTime();
00051
00053
00057 vtkSetMacro(ComputeNormals,int);
00058 vtkGetMacro(ComputeNormals,int);
00059 vtkBooleanMacro(ComputeNormals,int);
00061
00063
00069 vtkSetMacro(ComputeGradients,int);
00070 vtkGetMacro(ComputeGradients,int);
00071 vtkBooleanMacro(ComputeGradients,int);
00073
00075
00076 vtkSetMacro(ComputeScalars,int);
00077 vtkGetMacro(ComputeScalars,int);
00078 vtkBooleanMacro(ComputeScalars,int);
00080
00083 void SetValue(int i, double value) {this->ContourValues->SetValue(i,value);}
00084
00086 double GetValue(int i) {return this->ContourValues->GetValue(i);}
00087
00090 double *GetValues() {return this->ContourValues->GetValues();}
00091
00093
00096 void GetValues(double *contourValues) {
00097 this->ContourValues->GetValues(contourValues);}
00099
00101
00104 void SetNumberOfContours(int number) {
00105 this->ContourValues->SetNumberOfContours(number);}
00107
00109
00110 int GetNumberOfContours() {
00111 return this->ContourValues->GetNumberOfContours();}
00113
00115
00117 void GenerateValues(int numContours, double range[2]) {
00118 this->ContourValues->GenerateValues(numContours, range);}
00120
00122
00124 void GenerateValues(int numContours, double rangeStart, double rangeEnd)
00125 {this->ContourValues->GenerateValues(numContours, rangeStart, rangeEnd);}
00127
00129
00130 int *GetExecuteExtent() {return this->ExecuteExtent;}
00131 void ThreadedExecute(vtkImageData *data, vtkInformation *inInfo,
00132 vtkInformation *outInfo,
00133 int *exExt, vtkDataArray *inScalars);
00135
00137
00140 void SetInputMemoryLimit(unsigned long limit);
00141 unsigned long GetInputMemoryLimit();
00143
00145
00147 vtkSetMacro(ArrayComponent, int);
00148 vtkGetMacro(ArrayComponent, int);
00150
00151 protected:
00152 vtkSynchronizedTemplates3D();
00153 ~vtkSynchronizedTemplates3D();
00154
00155 int ComputeNormals;
00156 int ComputeGradients;
00157 int ComputeScalars;
00158 vtkContourValues *ContourValues;
00159
00160 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00161 virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00162 virtual int FillInputPortInformation(int port, vtkInformation *info);
00163
00164 int ExecuteExtent[6];
00165
00166 int ArrayComponent;
00167
00168 private:
00169 vtkSynchronizedTemplates3D(const vtkSynchronizedTemplates3D&);
00170 void operator=(const vtkSynchronizedTemplates3D&);
00171 };
00172
00173
00174
00175
00176
00177 extern int VTK_GRAPHICS_EXPORT VTK_SYNCHRONIZED_TEMPLATES_3D_TABLE_1[];
00178 extern int VTK_GRAPHICS_EXPORT VTK_SYNCHRONIZED_TEMPLATES_3D_TABLE_2[];
00179
00180
00181
00182 #endif
00183