56 #ifndef vtkSurfaceLICInterface_h
57 #define vtkSurfaceLICInterface_h
60 #include "vtkRenderingLICOpenGL2Module.h"
83 vtkGetMacro(NumberOfSteps,
int);
91 vtkGetMacro(StepSize,
double);
107 vtkBooleanMacro(NormalizeVectors,
int);
108 vtkGetMacro(NormalizeVectors,
int);
118 vtkBooleanMacro(MaskOnSurface,
int);
119 vtkGetMacro(MaskOnSurface,
int);
140 vtkGetMacro(MaskThreshold,
double);
152 double rgb[3] = { r, g, b };
153 this->SetMaskColor(rgb);
155 vtkGetVector3Macro(MaskColor,
double);
168 vtkGetMacro(MaskIntensity,
double);
178 vtkGetMacro(EnhancedLIC,
int);
179 vtkBooleanMacro(EnhancedLIC,
int);
218 ENHANCE_CONTRAST_OFF = 0,
219 ENHANCE_CONTRAST_LIC = 1,
220 ENHANCE_CONTRAST_COLOR = 3,
221 ENHANCE_CONTRAST_BOTH = 4
224 vtkGetMacro(EnhanceContrast,
int);
244 vtkGetMacro(LowLICContrastEnhancementFactor,
double);
245 vtkGetMacro(HighLICContrastEnhancementFactor,
double);
249 vtkGetMacro(LowColorContrastEnhancementFactor,
double);
250 vtkGetMacro(HighColorContrastEnhancementFactor,
double);
263 vtkBooleanMacro(AntiAlias,
int);
264 vtkGetMacro(AntiAlias,
int);
279 COLOR_MODE_BLEND = 0,
283 vtkGetMacro(ColorMode,
int);
297 vtkGetMacro(LICIntensity,
double);
309 vtkGetMacro(MapModeBias,
double);
343 vtkGetMacro(GenerateNoiseTexture,
int);
354 NOISE_TYPE_UNIFORM = 0,
355 NOISE_TYPE_GAUSSIAN = 1,
356 NOISE_TYPE_PERLIN = 2
359 vtkGetMacro(NoiseType,
int);
368 vtkGetMacro(NoiseTextureSize,
int);
376 vtkGetMacro(NoiseGrainSize,
int);
388 vtkGetMacro(MinNoiseValue,
double);
389 vtkGetMacro(MaxNoiseValue,
double);
398 vtkGetMacro(NumberOfNoiseLevels,
int);
407 vtkGetMacro(ImpulseNoiseProbability,
double);
415 vtkGetMacro(ImpulseNoiseBackgroundValue,
double);
423 vtkGetMacro(NoiseGeneratorSeed,
int);
432 COMPOSITE_INPLACE = 0,
433 COMPOSITE_INPLACE_DISJOINT = 1,
434 COMPOSITE_BALANCED = 2,
438 vtkGetMacro(CompositeStrategy,
int);
530 vtkSetMacro(Enable,
int);
531 vtkGetMacro(Enable,
int);
532 vtkBooleanMacro(Enable,
int);
represents an object (geometry & properties) in a rendered scene
abstract superclass for arrays of numeric data
general representation of visualization data
topologically and geometrically regular array of data
a simple class to control print indentation
abstract base class for most VTK objects
A communicator that can safely be used inside a painter.
create a window for renderers to draw into
abstract specification for renderers
A small collection of noise routines for LIC.
public API for surface lic parameters arbitrary geometry.
void SetNormalizeVectors(int val)
Normalize vectors during integration.
virtual void GetGlobalMinMax(vtkPainterCommunicator *, float &, float &)
Get the min/max across all ranks.
static vtkSurfaceLICInterface * New()
vtkImageData * GetNoiseDataSet()
void SetCompositeStrategy(int val)
void SetNoiseTextureSize(int length)
Set/Get the side length in pixels of the noise texture.
void SetHasVectors(bool val)
Does the data have vectors which we require.
void SetNoiseGeneratorSeed(int val)
Set/Get the seed value used by the random number generator.
double LowColorContrastEnhancementFactor
void InitializeResources()
resoucre allocators
void SetAntiAlias(int val)
Enable/Disable the anti-aliasing pass.
virtual bool NeedToUpdateCommunicator()
Return false if stage can be skipped.
void SetImpulseNoiseBackgroundValue(double val)
The color to use for untouched pixels when impulse noise probability < 1.
double LowLICContrastEnhancementFactor
void UpdateCommunicator(vtkRenderer *renderer, vtkActor *actor, vtkDataObject *data)
Called from a mapper, does what is needed to make sure the communicators are ready.
virtual vtkPainterCommunicator * CreateCommunicator(int)
Creates a new communicator with/without the calling processes as indicated by the passed in flag,...
vtkSurfaceLICHelper * Internals
void SetMapModeBias(double val)
Factor used when blend mode is set to COLOR_MODE_MAP.
void SetLICIntensity(double val)
Factor used when blend mode is set to COLOR_MODE_BLEND.
void SetNumberOfSteps(int val)
Get/Set the number of integration steps in each direction.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkPainterCommunicator * GetCommunicator()
void SetLowColorContrastEnhancementFactor(double val)
~vtkSurfaceLICInterface() override
double ImpulseNoiseProbability
void ShallowCopy(vtkSurfaceLICInterface *m)
Make a shallow copy of this interface.
void SetMaxNoiseValue(double val)
void PrepareForGeometry()
void SetNoiseGrainSize(int val)
Each noise value will be length^2 pixels in area.
static bool IsSupported(vtkRenderWindow *context)
Returns true if the rendering context supports extensions needed by this painter.
void SetImpulseNoiseProbability(double val)
Control the density of the noise.
bool NeedToRenderGeometry(vtkRenderer *renderer, vtkActor *actor)
double HighLICContrastEnhancementFactor
bool NeedToGatherVectors()
void SetMaskColor(double r, double g, double b)
void SetEnhancedLIC(int val)
EnhancedLIC mean compute the LIC twice with the second pass using the edge-enhanced result of the fir...
void SetHighColorContrastEnhancementFactor(double val)
void CombineColorsAndLIC()
void SetColorMode(int val)
virtual void ReleaseGraphicsResources(vtkWindow *win)
Release any graphics resources that are being consumed by this mapper.
void SetStepSize(double val)
Get/Set the step size (in pixels).
bool CanRenderSurfaceLIC(vtkActor *actor)
Returns true when rendering LIC is possible.
void SetNoiseType(int type)
void SetHighLICContrastEnhancementFactor(double val)
void SetEnhanceContrast(int val)
void SetNoiseDataSet(vtkImageData *data)
Set the data containing a noise array as active scalars.
void SetLowLICContrastEnhancementFactor(double val)
void SetNumberOfNoiseLevels(int val)
Set/Get the number of discrete values a noise pixel may take on.
double ImpulseNoiseBackgroundValue
void ValidateContext(vtkRenderer *renderer)
Look for changes that would trigger stage updates.
void SetMinNoiseValue(double val)
Set/Get the minimum and mximum gray scale values that the generated noise can take on.
virtual void WriteTimerLog(const char *)
Methods used for parallel benchmarks.
void SetMaskColor(double *val)
The MaskColor is used on masked fragments.
void SetMaskIntensity(double val)
The MaskIntensity controls the blending of the mask color and the geometry color.
double HighColorContrastEnhancementFactor
void SetGenerateNoiseTexture(int shouldGenerate)
Set/Get the noise texture source.
void SetMaskThreshold(double val)
The MaskThreshold controls the rendering of fragments in stagnant regions of flow.
void CreateCommunicator(vtkRenderer *, vtkActor *, vtkDataObject *data)
Creates a new communicator for internal use based on this rank's visible data.
void UpdateNoiseImage(vtkRenderWindow *renWin)
Updates the noise texture, downsampling by the requested sample rate.
void SetMaskOnSurface(int val)
When set MaskOnSurface computes |V| for use in the fragment masking tests on the surface.
window superclass for vtkRenderWindow