VTK  9.2.6
vtkStructuredGridLIC2D.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkStructuredGridLIC2D.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
45 #ifndef vtkStructuredGridLIC2D_h
46 #define vtkStructuredGridLIC2D_h
47 
48 #include "vtkRenderingLICOpenGL2Module.h" // For export macro
50 #include "vtkWeakPointer.h" // needed for vtkWeakPointer.
51 
53 class vtkOpenGLHelper;
54 class vtkRenderWindow;
55 
56 class VTKRENDERINGLICOPENGL2_EXPORT vtkStructuredGridLIC2D : public vtkStructuredGridAlgorithm
57 {
58 public:
59  static vtkStructuredGridLIC2D* New();
61  void PrintSelf(ostream& os, vtkIndent indent) override;
62 
64 
71  int SetContext(vtkRenderWindow* context);
72  vtkRenderWindow* GetContext();
74 
76 
81  vtkSetMacro(Steps, int);
82  vtkGetMacro(Steps, int);
84 
86 
98  vtkSetMacro(StepSize, double);
99  vtkGetMacro(StepSize, double);
101 
103 
106  vtkSetClampMacro(Magnification, int, 1, VTK_INT_MAX);
107  vtkGetMacro(Magnification, int);
109 
113  int GetFBOSuccess() { return this->FBOSuccess; }
114 
118  int GetLICSuccess() { return this->LICSuccess; }
119 
120 protected:
122  ~vtkStructuredGridLIC2D() override;
123 
130  int FillInputPortInformation(int port, vtkInformation* info) override;
131 
139 
140  int RequestInformation(vtkInformation* request, vtkInformationVector** inputVector,
141  vtkInformationVector* outputVector) override;
142 
143  int RequestUpdateExtent(vtkInformation* request, vtkInformationVector** inputVector,
144  vtkInformationVector* outputVector) override;
145 
149  void AllocateOutputData(vtkDataObject* output, vtkInformation* outInfo);
150 
154  void AllocateScalars(vtkStructuredGrid* sg, vtkInformation* outInfo);
155 
160  int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
161  vtkInformationVector* outputVector) override;
162 
163  int Steps;
164  double StepSize;
167 
169  bool OwnWindow;
173 
174 private:
176  void operator=(const vtkStructuredGridLIC2D&) = delete;
177 };
178 
179 #endif
int FillOutputPortInformation(int port, vtkInformation *info) override
Fill the output port information objects for this algorithm.
GPU implementation of a Line Integral Convolution, a technique for imaging vector fields...
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Store vtkAlgorithm input/output information.
vtkWeakPointer< vtkRenderWindow > Context
int GetLICSuccess()
Check if LIC runs properly.
#define VTK_INT_MAX
Definition: vtkType.h:155
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
int GetFBOSuccess()
Check if FBO is started properly.
vtkImageNoiseSource * NoiseSource
static vtkStructuredGridAlgorithm * New()
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
a simple class to control print indentation
Definition: vtkIndent.h:39
Superclass for algorithms that produce only structured grid as output.
Create an image filled with noise.
create a window for renderers to draw into
topologically regular array of data
Store zero or more vtkInformation instances.
general representation of visualization data
Definition: vtkDataObject.h:65