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 "vtkImageAlgorithm.h" 00048 #include "vtkWeakPointer.h" // needed for vtkWeakPointer. 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 //BTX 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&); // Not implemented. 00152 void operator=(const vtkImageDataLIC2D&); // Not implemented. 00153 //ETX 00154 }; 00155 00156 #endif