VTK
dox/Rendering/HybridOpenGL/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 "vtkRenderingHybridOpenGLModule.h" // For export macro
00045 #include "vtkStructuredGridAlgorithm.h"
00046 #include "vtkWeakPointer.h" // needed for vtkWeakPointer.
00047 
00048 class vtkRenderWindow;
00049 class vtkImageNoiseSource;
00050 
00051 class VTKRENDERINGHYBRIDOPENGL_EXPORT vtkStructuredGridLIC2D
00052   : public vtkStructuredGridAlgorithm
00053 {
00054 public:
00055   static vtkStructuredGridLIC2D* New();
00056   vtkTypeMacro(vtkStructuredGridLIC2D, vtkStructuredGridAlgorithm);
00057   void PrintSelf(ostream& os, vtkIndent indent);
00058 
00060 
00065   int SetContext( vtkRenderWindow * context );
00066   vtkRenderWindow * GetContext();
00068 
00070 
00072   vtkSetMacro(Steps,int);
00073   vtkGetMacro(Steps,int);
00075 
00077 
00084   vtkSetMacro(StepSize,double);
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 //BTX
00106 protected:
00107   vtkStructuredGridLIC2D();
00108   ~vtkStructuredGridLIC2D();
00109 
00111 
00115   virtual int FillInputPortInformation(int port,
00116                                        vtkInformation *info);
00118 
00120 
00124   virtual int FillOutputPortInformation(int port,
00125                                         vtkInformation *info);
00127 
00128   virtual int RequestInformation(vtkInformation *request,
00129          vtkInformationVector **inputVector,
00130          vtkInformationVector *outputVector);
00131 
00132   int RequestUpdateExtent (vtkInformation *request,
00133                            vtkInformationVector **inputVector,
00134                            vtkInformationVector *outputVector);
00135 
00137 
00139   void AllocateOutputData(vtkDataObject *output,
00140                           vtkInformation *outInfo);
00142 
00144   void AllocateScalars(vtkStructuredGrid *sg, vtkInformation *outInfo);
00145 
00147 
00149   virtual int RequestData(vtkInformation *request,
00150                           vtkInformationVector **inputVector,
00151                           vtkInformationVector *outputVector);
00153 
00154   int    Steps;
00155   double StepSize;
00156   int    Magnification;
00157   int    OpenGLExtensionsSupported;
00158   vtkWeakPointer<vtkRenderWindow> Context;
00159 
00160   vtkImageNoiseSource* NoiseSource;
00161   bool   OwnWindow;
00162   int    FBOSuccess;
00163   int    LICSuccess;
00164 
00165 private:
00166   vtkStructuredGridLIC2D(const vtkStructuredGridLIC2D&); // Not implemented.
00167   void operator=(const vtkStructuredGridLIC2D&); // Not implemented.
00168 //ETX
00169 };
00170 
00171 #endif