VTK: Rendering/LICOpenGL2/vtkStructuredGridLIC2D.h Source File

| VTK 9.3.1

vtkStructuredGridLIC2D.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
33 #ifndef vtkStructuredGridLIC2D_h
34 #define vtkStructuredGridLIC2D_h
35
36 #include "vtkRenderingLICOpenGL2Module.h" // For export macro
37 #include "vtkStructuredGridAlgorithm.h"
38 #include "vtkWeakPointer.h" // needed for vtkWeakPointer.
39
40 VTK_ABI_NAMESPACE_BEGIN
41 class vtkImageNoiseSource;
42 class vtkOpenGLHelper;
43 class vtkRenderWindow;
44
45 class VTKRENDERINGLICOPENGL2_EXPORT vtkStructuredGridLIC2D : public vtkStructuredGridAlgorithm
46 {
47 public:
48 static vtkStructuredGridLIC2D* New();
49 vtkTypeMacro(vtkStructuredGridLIC2D, vtkStructuredGridAlgorithm);
50 void PrintSelf(ostream& os, vtkIndent indent) override;
51
53
60 int SetContext(vtkRenderWindow* context);
61 vtkRenderWindow* GetContext();
63
65
70 vtkSetMacro(Steps, int);
71 vtkGetMacro(Steps, int);
73
75
87 vtkSetMacro(StepSize, double);
88 vtkGetMacro(StepSize, double);
90
92
95 vtkSetClampMacro(Magnification, int, 1, VTK_INT_MAX);
96 vtkGetMacro(Magnification, int);
98
102 int GetFBOSuccess() { return this->FBOSuccess; }
103
107 int GetLICSuccess() { return this->LICSuccess; }
108
109 protected:
110 vtkStructuredGridLIC2D();
111 ~vtkStructuredGridLIC2D() override;
112
119 int FillInputPortInformation(int port, vtkInformation* info) override;
120
127 int FillOutputPortInformation(int port, vtkInformation* info) override;
128
129 int RequestInformation(vtkInformation* request, vtkInformationVector** inputVector,
130 vtkInformationVector* outputVector) override;
131
132 int RequestUpdateExtent(vtkInformation* request, vtkInformationVector** inputVector,
133 vtkInformationVector* outputVector) override;
134
138 void AllocateOutputData(vtkDataObject* output, vtkInformation* outInfo);
139
143 void AllocateScalars(vtkStructuredGrid* sg, vtkInformation* outInfo);
144
149 int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
150 vtkInformationVector* outputVector) override;
151
152 int Steps;
153 double StepSize;
154 int Magnification;
155 vtkWeakPointer<vtkRenderWindow> Context;
156
157 vtkImageNoiseSource* NoiseSource;
158 bool OwnWindow;
159 int FBOSuccess;
160 int LICSuccess;
161 vtkOpenGLHelper* LICProgram;
162
163 private:
164 vtkStructuredGridLIC2D(const vtkStructuredGridLIC2D&) = delete;
165 void operator=(const vtkStructuredGridLIC2D&) = delete;
166 };
167
168 VTK_ABI_NAMESPACE_END
169 #endif
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:64
vtkImageNoiseSource
Create an image filled with noise.
Definition: vtkImageNoiseSource.h:38
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:40
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:72
vtkOpenGLHelper
Definition: vtkOpenGLHelper.h:21
vtkRenderWindow
create a window for renderers to draw into
Definition: vtkRenderWindow.h:95
vtkStructuredGridAlgorithm
Superclass for algorithms that produce only structured grid as output.
Definition: vtkStructuredGridAlgorithm.h:31
vtkStructuredGridLIC2D
GPU implementation of a Line Integral Convolution, a technique for imaging vector fields.
Definition: vtkStructuredGridLIC2D.h:46
vtkStructuredGridLIC2D::RequestInformation
int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
vtkStructuredGridLIC2D::FillOutputPortInformation
int FillOutputPortInformation(int port, vtkInformation *info) override
Fill the output port information objects for this algorithm.
vtkStructuredGridLIC2D::NoiseSource
vtkImageNoiseSource * NoiseSource
Definition: vtkStructuredGridLIC2D.h:157
vtkStructuredGridLIC2D::LICProgram
vtkOpenGLHelper * LICProgram
Definition: vtkStructuredGridLIC2D.h:161
vtkStructuredGridLIC2D::GetFBOSuccess
int GetFBOSuccess()
Check if FBO is started properly.
Definition: vtkStructuredGridLIC2D.h:102
vtkStructuredGridLIC2D::SetContext
int SetContext(vtkRenderWindow *context)
Get/Set the context.
vtkStructuredGridLIC2D::FillInputPortInformation
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
vtkStructuredGridLIC2D::vtkStructuredGridLIC2D
vtkStructuredGridLIC2D()
vtkStructuredGridLIC2D::GetLICSuccess
int GetLICSuccess()
Check if LIC runs properly.
Definition: vtkStructuredGridLIC2D.h:107
vtkStructuredGridLIC2D::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkStructuredGridLIC2D::RequestData
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called by the superclass.
vtkStructuredGridLIC2D::FBOSuccess
int FBOSuccess
Definition: vtkStructuredGridLIC2D.h:159
vtkStructuredGridLIC2D::GetContext
vtkRenderWindow * GetContext()
Get/Set the context.
vtkStructuredGridLIC2D::~vtkStructuredGridLIC2D
~vtkStructuredGridLIC2D() override
vtkStructuredGridLIC2D::New
static vtkStructuredGridLIC2D * New()
vtkStructuredGridLIC2D::Context
vtkWeakPointer< vtkRenderWindow > Context
Definition: vtkStructuredGridLIC2D.h:155
vtkStructuredGridLIC2D::Steps
int Steps
Definition: vtkStructuredGridLIC2D.h:152
vtkStructuredGridLIC2D::StepSize
double StepSize
Definition: vtkStructuredGridLIC2D.h:153
vtkStructuredGridLIC2D::AllocateOutputData
void AllocateOutputData(vtkDataObject *output, vtkInformation *outInfo)
Stolen from vtkImageAlgorithm.
vtkStructuredGridLIC2D::LICSuccess
int LICSuccess
Definition: vtkStructuredGridLIC2D.h:160
vtkStructuredGridLIC2D::Magnification
int Magnification
Definition: vtkStructuredGridLIC2D.h:154
vtkStructuredGridLIC2D::OwnWindow
bool OwnWindow
Definition: vtkStructuredGridLIC2D.h:158
vtkStructuredGridLIC2D::RequestUpdateExtent
int RequestUpdateExtent(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called by the superclass.
vtkStructuredGridLIC2D::AllocateScalars
void AllocateScalars(vtkStructuredGrid *sg, vtkInformation *outInfo)
Stolen from vtkImageData.
vtkStructuredGrid
topologically regular array of data
Definition: vtkStructuredGrid.h:63
vtkWeakPointer< vtkRenderWindow >
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkX3D::port
@ port
Definition: vtkX3D.h:447
vtkStructuredGridAlgorithm.h
VTK_INT_MAX
#define VTK_INT_MAX
Definition: vtkType.h:144
vtkWeakPointer.h