VTK
dox/Rendering/LIC/vtkStructuredGridLIC2D.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkStructuredGridLIC2D.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 __vtkStructuredGridLIC2D_h
00045 #define __vtkStructuredGridLIC2D_h
00046 
00047 #include "vtkRenderingLICModule.h" // For export macro
00048 #include "vtkStructuredGridAlgorithm.h"
00049 #include "vtkWeakPointer.h" // needed for vtkWeakPointer.
00050 
00051 class vtkRenderWindow;
00052 class vtkImageNoiseSource;
00053 
00054 class VTKRENDERINGLIC_EXPORT vtkStructuredGridLIC2D
00055   : public vtkStructuredGridAlgorithm
00056 {
00057 public:
00058   static vtkStructuredGridLIC2D* New();
00059   vtkTypeMacro(vtkStructuredGridLIC2D, vtkStructuredGridAlgorithm);
00060   void PrintSelf(ostream& os, vtkIndent indent);
00061 
00063 
00068   int SetContext( vtkRenderWindow * context );
00069   vtkRenderWindow * GetContext();
00071 
00073 
00075   vtkSetMacro(Steps,int);
00076   vtkGetMacro(Steps,int);
00078 
00080 
00087   vtkSetMacro(StepSize,double);
00088   vtkGetMacro(StepSize,double);
00090 
00092 
00093   vtkSetClampMacro(Magnification, int, 1, VTK_INT_MAX);
00094   vtkGetMacro(Magnification, int);
00096 
00098 
00099   vtkGetMacro( OpenGLExtensionsSupported, int );
00101 
00103   int   GetFBOSuccess() { return this->FBOSuccess; }
00104 
00106   int   GetLICSuccess() { return this->LICSuccess; }
00107 
00108 //BTX
00109 protected:
00110   vtkStructuredGridLIC2D();
00111   ~vtkStructuredGridLIC2D();
00112 
00114 
00118   virtual int FillInputPortInformation(int port,
00119                                        vtkInformation *info);
00121 
00123 
00127   virtual int FillOutputPortInformation(int port,
00128                                         vtkInformation *info);
00130 
00131   virtual int RequestInformation(vtkInformation *request,
00132          vtkInformationVector **inputVector,
00133          vtkInformationVector *outputVector);
00134 
00135   int RequestUpdateExtent (vtkInformation *request,
00136                            vtkInformationVector **inputVector,
00137                            vtkInformationVector *outputVector);
00138 
00140 
00142   void AllocateOutputData(vtkDataObject *output,
00143                           vtkInformation *outInfo);
00145 
00147   void AllocateScalars(vtkStructuredGrid *sg, vtkInformation *outInfo);
00148 
00150 
00152   virtual int RequestData(vtkInformation *request,
00153                           vtkInformationVector **inputVector,
00154                           vtkInformationVector *outputVector);
00156 
00157   int    Steps;
00158   double StepSize;
00159   int    Magnification;
00160   int    OpenGLExtensionsSupported;
00161   vtkWeakPointer<vtkRenderWindow> Context;
00162 
00163   vtkImageNoiseSource* NoiseSource;
00164   bool   OwnWindow;
00165   int    FBOSuccess;
00166   int    LICSuccess;
00167 
00168 private:
00169   vtkStructuredGridLIC2D(const vtkStructuredGridLIC2D&); // Not implemented.
00170   void operator=(const vtkStructuredGridLIC2D&); // Not implemented.
00171 //ETX
00172 };
00173 
00174 #endif