VTK
vtkLineIntegralConvolution2D.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkLineIntegralConvolution2D.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 =========================================================================*/
78 #ifndef __vtkLineIntegralConvolution2D_h
79 #define __vtkLineIntegralConvolution2D_h
80 
81 #include "vtkObject.h"
82 
83 class vtkRenderWindow;
84 class vtkTextureObject;
85 
87 {
88 public:
89 
92  void PrintSelf( ostream & os, vtkIndent indent );
93 
95 
101  vtkSetMacro( EnhancedLIC, int );
102  vtkGetMacro( EnhancedLIC, int );
103  vtkBooleanMacro( EnhancedLIC, int );
105 
107 
109  vtkSetMacro( LICForSurface, int );
110  vtkGetMacro( LICForSurface, int );
111  vtkBooleanMacro( LICForSurface, int );
113 
115 
117  vtkSetMacro( NumberOfSteps, int );
118  vtkGetMacro( NumberOfSteps, int );
120 
122 
128  vtkSetClampMacro( LICStepSize, double, 0.0, 1.0 );
129  vtkGetMacro( LICStepSize, double );
131 
133 
134  void SetNoise( vtkTextureObject * noise );
135  vtkGetObjectMacro( Noise, vtkTextureObject );
137 
139 
140  void SetVectorField( vtkTextureObject * vectorField );
141  vtkGetObjectMacro( VectorField, vtkTextureObject );
143 
145 
148  vtkSetVector2Macro( ComponentIds, int );
149  vtkGetVector2Macro( ComponentIds, int );
151 
153 
160  vtkSetVector2Macro( GridSpacings, double );
161  vtkGetVector2Macro( GridSpacings, double );
163 
165 
169  vtkSetClampMacro( TransformVectors, int, 0, 1 );
170  vtkBooleanMacro( TransformVectors, int );
171  vtkGetMacro( TransformVectors, int );
173 
175 
176  vtkSetClampMacro( Magnification, int, 1, VTK_INT_MAX );
177  vtkGetMacro( Magnification, int );
179 
181 
184  void SetVectorShiftScale( double shift, double scale )
185  {
186  this->VectorShift = shift;
187  this->VectorScale = scale;
188  this->Modified();
189  }
191 
193  static bool IsSupported( vtkRenderWindow * renWin );
194 
196  int Execute();
197 
199 
203  int Execute( unsigned int extent[4] );
204  int Execute( int extent[4] );
206 
208 
209  void SetLIC( vtkTextureObject * lic );
210  vtkGetObjectMacro( LIC, vtkTextureObject );
212 
213 protected:
216 
221  double LICStepSize;
222  double VectorShift;
223  double VectorScale;
224 
226  int ComponentIds[2];
227  double GridSpacings[2];
228 
232 
233 private:
234  vtkLineIntegralConvolution2D( const vtkLineIntegralConvolution2D & ); // Not implemented.
235  void operator = ( const vtkLineIntegralConvolution2D & ); // Not implemented.
236 //ETX
237 };
238 
239 #endif