VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkSynchronizedTemplates3D.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00033 #ifndef __vtkSynchronizedTemplates3D_h 00034 #define __vtkSynchronizedTemplates3D_h 00035 00036 #include "vtkPolyDataAlgorithm.h" 00037 #include "vtkContourValues.h" // Passes calls through 00038 00039 class vtkImageData; 00040 00041 class VTK_GRAPHICS_EXPORT vtkSynchronizedTemplates3D : public vtkPolyDataAlgorithm 00042 { 00043 public: 00044 static vtkSynchronizedTemplates3D *New(); 00045 00046 vtkTypeMacro(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&); // Not implemented. 00170 void operator=(const vtkSynchronizedTemplates3D&); // Not implemented. 00171 }; 00172 00173 00174 // template table. 00175 //BTX 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 //ETX 00181 00182 #endif 00183