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 =========================================================================*/ 00044 #ifndef __vtkImageDataLIC2D_h 00045 #define __vtkImageDataLIC2D_h 00046 00047 #include "vtkRenderingHybridOpenGLModule.h" // For export macro 00048 #include "vtkImageAlgorithm.h" 00049 #include "vtkWeakPointer.h" // needed for vtkWeakPointer. 00050 00051 class vtkRenderWindow; 00052 class vtkImageNoiseSource; 00053 00054 class VTKRENDERINGHYBRIDOPENGL_EXPORT vtkImageDataLIC2D : public vtkImageAlgorithm 00055 { 00056 public: 00057 static vtkImageDataLIC2D* New(); 00058 vtkTypeMacro(vtkImageDataLIC2D, vtkImageAlgorithm); 00059 void PrintSelf(ostream& os, vtkIndent indent); 00060 00062 00067 int SetContext( vtkRenderWindow * context ); 00068 vtkRenderWindow * GetContext(); 00070 00072 00074 vtkSetMacro(Steps,int); 00075 vtkGetMacro(Steps,int); 00077 00079 00085 vtkSetClampMacro(StepSize, double, 0.0, 100.0); 00086 vtkGetMacro(StepSize, double); 00088 00090 00091 vtkSetClampMacro(Magnification, int, 1, VTK_INT_MAX); 00092 vtkGetMacro(Magnification, int); 00094 00096 00097 vtkGetMacro( OpenGLExtensionsSupported, int ); 00099 00101 int GetFBOSuccess() { return this->FBOSuccess; } 00102 00104 int GetLICSuccess() { return this->LICSuccess; } 00105 00106 00107 void TranslateInputExtent(const int* inExt, 00108 const int* inWholeExtent, int *outExt); 00109 00110 //BTX 00111 protected: 00112 vtkImageDataLIC2D(); 00113 ~vtkImageDataLIC2D(); 00114 00115 virtual int RequestInformation(vtkInformation *, 00116 vtkInformationVector **, vtkInformationVector *); 00117 00119 00123 virtual int FillInputPortInformation(int port, 00124 vtkInformation *info); 00126 00127 int RequestUpdateExtent (vtkInformation * vtkNotUsed(request), 00128 vtkInformationVector **inputVector, 00129 vtkInformationVector *vtkNotUsed( outputVector )); 00130 00132 00134 virtual int RequestData(vtkInformation *request, 00135 vtkInformationVector **inputVector, 00136 vtkInformationVector *outputVector); 00138 00139 int Steps; 00140 double StepSize; 00141 int Magnification; 00142 int OpenGLExtensionsSupported; 00143 vtkWeakPointer<vtkRenderWindow> Context; 00144 vtkImageNoiseSource* NoiseSource; 00145 00146 bool ARBColorBufferFloatSupported; 00147 bool OwnWindow; 00148 int FBOSuccess; 00149 int LICSuccess; 00150 00151 private: 00152 vtkImageDataLIC2D(const vtkImageDataLIC2D&); // Not implemented. 00153 void operator=(const vtkImageDataLIC2D&); // Not implemented. 00154 //ETX 00155 }; 00156 00157 #endif