00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00044 #ifndef __vtkImageDataLIC2D_h
00045 #define __vtkImageDataLIC2D_h
00046
00047 #include "vtkImageAlgorithm.h"
00048 #include "vtkWeakPointer.h"
00049
00050 class vtkRenderWindow;
00051 class vtkImageNoiseSource;
00052
00053 class VTK_HYBRID_EXPORT vtkImageDataLIC2D : public vtkImageAlgorithm
00054 {
00055 public:
00056 static vtkImageDataLIC2D* New();
00057 vtkTypeMacro(vtkImageDataLIC2D, vtkImageAlgorithm);
00058 void PrintSelf(ostream& os, vtkIndent indent);
00059
00061
00066 int SetContext( vtkRenderWindow * context );
00067 vtkRenderWindow * GetContext();
00069
00071
00073 vtkSetMacro(Steps,int);
00074 vtkGetMacro(Steps,int);
00076
00078
00084 vtkSetClampMacro(StepSize, double, 0.0, 100.0);
00085 vtkGetMacro(StepSize, double);
00087
00089
00090 vtkSetClampMacro(Magnification, int, 1, VTK_INT_MAX);
00091 vtkGetMacro(Magnification, int);
00093
00095
00096 vtkGetMacro( OpenGLExtensionsSupported, int );
00098
00100 int GetFBOSuccess() { return this->FBOSuccess; }
00101
00103 int GetLICSuccess() { return this->LICSuccess; }
00104
00105
00106 void TranslateInputExtent(const int* inExt,
00107 const int* inWholeExtent, int *outExt);
00108
00109
00110 protected:
00111 vtkImageDataLIC2D();
00112 ~vtkImageDataLIC2D();
00113
00114 virtual int RequestInformation(vtkInformation *,
00115 vtkInformationVector **, vtkInformationVector *);
00116
00118
00122 virtual int FillInputPortInformation(int port,
00123 vtkInformation *info);
00125
00126 int RequestUpdateExtent (vtkInformation * vtkNotUsed(request),
00127 vtkInformationVector **inputVector,
00128 vtkInformationVector *vtkNotUsed( outputVector ));
00129
00131
00133 virtual int RequestData(vtkInformation *request,
00134 vtkInformationVector **inputVector,
00135 vtkInformationVector *outputVector);
00137
00138 int Steps;
00139 double StepSize;
00140 int Magnification;
00141 int OpenGLExtensionsSupported;
00142 vtkWeakPointer<vtkRenderWindow> Context;
00143 vtkImageNoiseSource* NoiseSource;
00144
00145 bool ARBColorBufferFloatSupported;
00146 bool OwnWindow;
00147 int FBOSuccess;
00148 int LICSuccess;
00149
00150 private:
00151 vtkImageDataLIC2D(const vtkImageDataLIC2D&);
00152 void operator=(const vtkImageDataLIC2D&);
00153
00154 };
00155
00156 #endif