VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkImageDataLIC2D.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 =========================================================================*/ 00037 #ifndef __vtkImageDataLIC2D_h 00038 #define __vtkImageDataLIC2D_h 00039 00040 #include "vtkRenderingLICModule.h" // For export macro 00041 #include "vtkImageAlgorithm.h" 00042 #include "vtkWeakPointer.h" // needed for vtkWeakPointer. 00043 00044 class vtkRenderWindow; 00045 class vtkImageNoiseSource; 00046 class vtkShaderProgram2; 00047 00048 class VTKRENDERINGLIC_EXPORT vtkImageDataLIC2D : public vtkImageAlgorithm 00049 { 00050 public: 00051 static vtkImageDataLIC2D* New(); 00052 vtkTypeMacro(vtkImageDataLIC2D, vtkImageAlgorithm); 00053 void PrintSelf(ostream& os, vtkIndent indent); 00054 00056 00061 int SetContext( vtkRenderWindow * context ); 00062 vtkRenderWindow * GetContext(); 00064 00066 00068 vtkSetMacro(Steps,int); 00069 vtkGetMacro(Steps,int); 00071 00073 00079 vtkSetMacro(StepSize, double); 00080 vtkGetMacro(StepSize, double); 00082 00084 00085 vtkSetMacro(Magnification, int); 00086 vtkGetMacro(Magnification, int); 00088 00090 00091 vtkGetMacro(OpenGLExtensionsSupported, int); 00093 00094 void TranslateInputExtent( 00095 const int* inExt, 00096 const int* inWholeExtent, 00097 int *outExt); 00098 00099 //BTX 00100 protected: 00101 vtkImageDataLIC2D(); 00102 ~vtkImageDataLIC2D(); 00103 00104 virtual int RequestInformation(vtkInformation *, 00105 vtkInformationVector **, vtkInformationVector *); 00106 00108 00112 virtual int FillInputPortInformation(int port, 00113 vtkInformation *info); 00115 00116 int RequestUpdateExtent (vtkInformation * vtkNotUsed(request), 00117 vtkInformationVector **inputVector, 00118 vtkInformationVector *vtkNotUsed( outputVector )); 00119 00121 00123 virtual int RequestData(vtkInformation *request, 00124 vtkInformationVector **inputVector, 00125 vtkInformationVector *outputVector); 00127 00128 vtkWeakPointer<vtkRenderWindow> Context; 00129 bool OwnWindow; 00130 int OpenGLExtensionsSupported; 00131 00132 vtkShaderProgram2 *MagShader; 00133 00134 vtkImageNoiseSource* NoiseSource; 00135 00136 int Steps; 00137 double StepSize; 00138 int Magnification; 00139 00140 00141 00142 private: 00143 vtkImageDataLIC2D(const vtkImageDataLIC2D&); // Not implemented. 00144 void operator=(const vtkImageDataLIC2D&); // Not implemented. 00145 //ETX 00146 }; 00147 00148 #endif