Go to the documentation of this file.
59 #ifndef vtkSurfaceLICPainter_h
60 #define vtkSurfaceLICPainter_h
62 #include "vtkRenderingLICModule.h"
100 vtkGetMacro(Enable,
int);
121 vtkGetMacro(NumberOfSteps,
int);
129 vtkGetMacro(StepSize,
double);
146 vtkGetMacro(NormalizeVectors,
int);
157 vtkGetMacro(MaskOnSurface,
int);
178 vtkGetMacro(MaskThreshold,
double);
189 {
double rgb[3]={r,g,b}; this->SetMaskColor(rgb); }
190 vtkGetVector3Macro(MaskColor,
double);
203 vtkGetMacro(MaskIntensity,
double);
213 vtkGetMacro(EnhancedLIC,
int);
252 ENHANCE_CONTRAST_OFF=0,
253 ENHANCE_CONTRAST_LIC=1,
254 ENHANCE_CONTRAST_COLOR=3,
255 ENHANCE_CONTRAST_BOTH=4
258 vtkGetMacro(EnhanceContrast,
int);
278 vtkGetMacro(LowLICContrastEnhancementFactor,
double);
279 vtkGetMacro(HighLICContrastEnhancementFactor,
double);
283 vtkGetMacro(LowColorContrastEnhancementFactor,
double);
284 vtkGetMacro(HighColorContrastEnhancementFactor,
double);
298 vtkGetMacro(AntiAlias,
int);
316 vtkGetMacro(ColorMode,
int);
330 vtkGetMacro(LICIntensity,
double);
342 vtkGetMacro(MapModeBias,
double);
376 vtkGetMacro(GenerateNoiseTexture,
int);
386 NOISE_TYPE_UNIFORM=0,
387 NOISE_TYPE_GAUSSIAN=1,
391 vtkGetMacro(NoiseType,
int);
400 vtkGetMacro(NoiseTextureSize,
int);
409 vtkGetMacro(NoiseGrainSize,
int);
421 vtkGetMacro(MinNoiseValue,
double);
422 vtkGetMacro(MaxNoiseValue,
double);
431 vtkGetMacro(NumberOfNoiseLevels,
int);
440 vtkGetMacro(ImpulseNoiseProbability,
double);
448 vtkGetMacro(ImpulseNoiseBackgroundValue,
double);
456 vtkGetMacro(NoiseGeneratorSeed,
int);
465 COMPOSITE_INPLACE_DISJOINT=1,
466 COMPOSITE_BALANCED=2,
470 vtkGetMacro(CompositeStrategy,
int);
553 unsigned long typeflags,
554 bool forceCompileOnly);
void SetMaskOnSurface(int val)
When set MaskOnSurface computes |V| for use in the fragment masking tests on the surface.
void ReportReferences(vtkGarbageCollector *collector) override
Take part in garbage collection.
void SetMinNoiseValue(double val)
Set/Get the minimum and mximum gray scale values that the generated noise can take on.
bool VectorsToTCoords(vtkDataSet *dataObj)
virtual vtkDataObject * GetOutput()
Get the output data object from this painter.
bool NeedToRenderGeometry(vtkRenderer *renderer, vtkActor *actor)
double ImpulseNoiseBackgroundValue
painter that performs LIC on the surface of arbitrary geometry.
bool NeedToUpdateOutputData()
Return false if stage can be skipped.
void SetInputArrayToProcess(int fieldAssociation, const char *name)
Set the vectors to used for applying LIC.
bool CanRenderSurfaceLIC(vtkActor *actor, int typeflags)
Returns true when rendering LIC is possible.
void SetNoiseGeneratorSeed(int val)
Set/Get the seed value used by the random number generator.
void SetNoiseDataSet(vtkImageData *data)
Set the data containing a noise array as active scalars.
void SetHighLICContrastEnhancementFactor(double val)
double HighColorContrastEnhancementFactor
void InitializeResources()
void SetCompositeStrategy(int val)
void GetBounds(vtkDataObject *data, double bounds[6])
Computes data bounds.
virtual void StartTimerEvent(const char *)
Methods used for parallel benchmarks.
void SetMapModeBias(double val)
Factor used when blend mode is set to COLOR_MODE_MAP.
void SetLowColorContrastEnhancementFactor(double val)
void SetNormalizeVectors(int val)
Normalize vectors during integration.
void SetNoiseGrainSize(int val)
Set/Get the side length in pixels of the noise values in the noise texture.
void SetImpulseNoiseBackgroundValue(double val)
The color to use for untouched pixels when impulse noise probability < 1.
virtual void EndTimerEvent(const char *)
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
void SetEnhanceContrast(int val)
abstract superclass for arrays of numeric data
virtual vtkPainterCommunicator * CreateCommunicator(int)
Creates a new communicator with/without the calling processes as indicated by the passed in flag,...
virtual void ReleaseGraphicsResources(vtkWindow *win)
Release any graphics resources that are being consumed by this mapper.
void SetMaskColor(double r, double g, double b)
virtual void WriteTimerLog(const char *)
Methods used for parallel benchmarks.
void SetMaxNoiseValue(double val)
double ImpulseNoiseProbability
void SetNoiseTextureSize(int length)
Set/Get the side length in pixels of the noise texture.
virtual void RenderInternal(vtkRenderer *renderer, vtkActor *actor, unsigned long typeflags, bool forceCompileOnly)
Performs the actual rendering.
window superclass for vtkRenderWindow
virtual void ProcessInformation(vtkInformation *info)
Called before RenderInternal() if the Information has been changed since the last time this method wa...
void SetLICIntensity(double val)
Factor used when blend mode is set to COLOR_MODE_BLEND.
void SetColorMode(int val)
void SetAntiAlias(int val)
Enable/Disable the anti-aliasing pass.
bool NeedToGatherVectors()
void SetNoiseType(int type)
void SetHighColorContrastEnhancementFactor(double val)
vtkImageData * GetNoiseDataSet()
void SetMaskIntensity(double val)
The MaskIntensity controls the blending of the mask color and the geometry color.
represents an object (geometry & properties) in a rendered scene
double HighLICContrastEnhancementFactor
topologically and geometrically regular array of data
a simple class to control print indentation
void SetInputArrayToProcess(int fieldAssociation, int fieldAttributeType)
void CreateCommunicator()
Creates a new communicator for internal use based on this rank's visible data.
Abstract class for drawing poly data.
void SetNumberOfNoiseLevels(int val)
Set/Get the number of discrete values a noise pixel may take on.
void SetNumberOfSteps(int val)
Get/Set the number of integration steps in each direction.
Detect and break reference loops.
static bool IsSupported(vtkRenderWindow *context)
Returns true if the rendering context supports extensions needed by this painter.
virtual bool NeedToUpdateCommunicator()
void SetGenerateNoiseTexture(int shouldGenerate)
Set/Get the noise texture source.
abstract class to specify dataset behavior
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
void ValidateContext(vtkRenderer *renderer)
Look for changes that would trigger stage updates.
A communicator that can safely be used inside a painter.
void SetImpulseNoiseProbability(double val)
Control the density of of the noise.
virtual void GetGlobalMinMax(vtkPainterCommunicator *, float &, float &)
Get the min/max across all ranks.
bool VectorsToTCoords(vtkDataObject *dataObj)
set tcoords with vectors
abstract specification for renderers
void UpdateNoiseImage(vtkRenderWindow *renWin)
Updates the noise texture, downsampling by the requested sample rate.
double LowColorContrastEnhancementFactor
void SetEnable(int val)
Enable/Disable this painter.
create a window for renderers to draw into
void ClearTCoords(vtkDataSet *data)
bool PrepareOutput()
resoucre allocators
general representation of visualization data
void SetEnhancedLIC(int val)
EnhancedLIC mean compute the LIC twice with the second pass using the edge-enhanced result of the fir...
double LowLICContrastEnhancementFactor
void SetStepSize(double val)
Get/Set the step size (in pixels).
void SetMaskColor(double *val)
The MaskColor is used on masked fragments.
static vtkSurfaceLICPainter * New()
void SetMaskThreshold(double val)
The MaskThreshold controls the rendering of fragments in stagnant regions of flow.
void SetLowLICContrastEnhancementFactor(double val)