VTK
dox/Hybrid/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 =========================================================================*/
00041 #ifndef __vtkStructuredGridLIC2D_h
00042 #define __vtkStructuredGridLIC2D_h
00043 
00044 #include "vtkStructuredGridAlgorithm.h"
00045 #include "vtkWeakPointer.h" // needed for vtkWeakPointer.
00046 
00047 class vtkRenderWindow;
00048 class vtkImageNoiseSource;
00049 
00050 class VTK_HYBRID_EXPORT vtkStructuredGridLIC2D : public vtkStructuredGridAlgorithm
00051 {
00052 public:
00053   static vtkStructuredGridLIC2D* New();
00054   vtkTypeMacro(vtkStructuredGridLIC2D, vtkStructuredGridAlgorithm);
00055   void PrintSelf(ostream& os, vtkIndent indent);
00056 
00058 
00063   int SetContext( vtkRenderWindow * context );
00064   vtkRenderWindow * GetContext();
00066 
00068 
00070   vtkSetMacro(Steps,int);
00071   vtkGetMacro(Steps,int);
00073   
00075 
00082   vtkSetMacro(StepSize,double);
00083   vtkGetMacro(StepSize,double);
00085 
00087 
00088   vtkSetClampMacro(Magnification, int, 1, VTK_INT_MAX);
00089   vtkGetMacro(Magnification, int);
00091   
00093 
00094   vtkGetMacro( OpenGLExtensionsSupported, int );
00096   
00098   int   GetFBOSuccess() { return this->FBOSuccess; }
00099   
00101   int   GetLICSuccess() { return this->LICSuccess; }
00102 
00103 //BTX
00104 protected:
00105   vtkStructuredGridLIC2D();
00106   ~vtkStructuredGridLIC2D();
00107 
00109 
00113   virtual int FillInputPortInformation(int port,
00114                                        vtkInformation *info);
00116   
00118 
00122   virtual int FillOutputPortInformation(int port,
00123                                         vtkInformation *info);
00125   
00126   virtual int RequestInformation(vtkInformation *request, 
00127          vtkInformationVector **inputVector,
00128          vtkInformationVector *outputVector);
00129 
00130   int RequestUpdateExtent (vtkInformation *request,
00131                            vtkInformationVector **inputVector,
00132                            vtkInformationVector *outputVector);
00133   
00135 
00137   void AllocateOutputData(vtkDataObject *output,
00138                           int outputPort);
00140   
00142   void AllocateScalars(vtkStructuredGrid *sg);
00143   
00145 
00147   virtual int RequestData(vtkInformation *request,
00148                           vtkInformationVector **inputVector,
00149                           vtkInformationVector *outputVector);
00151 
00152   int    Steps;
00153   double StepSize;
00154   int    Magnification;
00155   int    OpenGLExtensionsSupported;
00156   vtkWeakPointer<vtkRenderWindow> Context;
00157 
00158   vtkImageNoiseSource* NoiseSource;
00159   bool   OwnWindow;
00160   int    FBOSuccess;
00161   int    LICSuccess;
00162   
00163 private:
00164   vtkStructuredGridLIC2D(const vtkStructuredGridLIC2D&); // Not implemented.
00165   void operator=(const vtkStructuredGridLIC2D&); // Not implemented.
00166 //ETX
00167 };
00168 
00169 #endif