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);
represents an object (geometry & properties) in a rendered scene
abstract superclass for arrays of numeric data
general representation of visualization data
abstract class to specify dataset behavior
Detect and break reference loops.
topologically and geometrically regular array of data
a simple class to control print indentation
A communicator that can safely be used inside a painter.
Abstract class for drawing poly data.
create a window for renderers to draw into
abstract specification for renderers
painter that performs LIC on the surface of arbitrary geometry.
void SetMapModeBias(double val)
Factor used when blend mode is set to COLOR_MODE_MAP.
void SetColorMode(int val)
virtual bool NeedToUpdateCommunicator()
void SetLICIntensity(double val)
Factor used when blend mode is set to COLOR_MODE_BLEND.
void SetHighLICContrastEnhancementFactor(double val)
void SetInputArrayToProcess(int fieldAssociation, int fieldAttributeType)
void SetMaskThreshold(double val)
The MaskThreshold controls the rendering of fragments in stagnant regions of flow.
void SetNoiseTextureSize(int length)
Set/Get the side length in pixels of the noise texture.
bool NeedToRenderGeometry(vtkRenderer *renderer, vtkActor *actor)
virtual void WriteTimerLog(const char *)
Methods used for parallel benchmarks.
void SetNumberOfNoiseLevels(int val)
Set/Get the number of discrete values a noise pixel may take on.
void SetLowLICContrastEnhancementFactor(double val)
double ImpulseNoiseBackgroundValue
void SetEnable(int val)
Enable/Disable this painter.
void SetCompositeStrategy(int val)
void SetGenerateNoiseTexture(int shouldGenerate)
Set/Get the noise texture source.
void SetNoiseGeneratorSeed(int val)
Set/Get the seed value used by the random number generator.
void UpdateNoiseImage(vtkRenderWindow *renWin)
Updates the noise texture, downsampling by the requested sample rate.
void InitializeResources()
void SetAntiAlias(int val)
Enable/Disable the anti-aliasing pass.
void ValidateContext(vtkRenderer *renderer)
Look for changes that would trigger stage updates.
virtual void ProcessInformation(vtkInformation *info)
Called before RenderInternal() if the Information has been changed since the last time this method wa...
bool NeedToGatherVectors()
double HighLICContrastEnhancementFactor
void ClearTCoords(vtkDataSet *data)
void SetNoiseGrainSize(int val)
Set/Get the side length in pixels of the noise values in the noise texture.
virtual vtkPainterCommunicator * CreateCommunicator(int)
Creates a new communicator with/without the calling processes as indicated by the passed in flag,...
virtual void StartTimerEvent(const char *)
Methods used for parallel benchmarks.
void SetNumberOfSteps(int val)
Get/Set the number of integration steps in each direction.
virtual void EndTimerEvent(const char *)
void SetImpulseNoiseBackgroundValue(double val)
The color to use for untouched pixels when impulse noise probability < 1.
bool PrepareOutput()
resoucre allocators
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
void SetStepSize(double val)
Get/Set the step size (in pixels).
void SetMaxNoiseValue(double val)
vtkImageData * GetNoiseDataSet()
void SetNoiseDataSet(vtkImageData *data)
Set the data containing a noise array as active scalars.
bool VectorsToTCoords(vtkDataObject *dataObj)
set tcoords with vectors
void SetMinNoiseValue(double val)
Set/Get the minimum and mximum gray scale values that the generated noise can take on.
void SetMaskColor(double *val)
The MaskColor is used on masked fragments.
void SetNoiseType(int type)
static vtkSurfaceLICPainter * New()
double ImpulseNoiseProbability
void ReportReferences(vtkGarbageCollector *collector) override
Take part in garbage collection.
void SetEnhanceContrast(int val)
void SetHighColorContrastEnhancementFactor(double val)
bool VectorsToTCoords(vtkDataSet *dataObj)
double HighColorContrastEnhancementFactor
virtual void RenderInternal(vtkRenderer *renderer, vtkActor *actor, unsigned long typeflags, bool forceCompileOnly)
Performs the actual rendering.
bool CanRenderSurfaceLIC(vtkActor *actor, int typeflags)
Returns true when rendering LIC is possible.
void SetImpulseNoiseProbability(double val)
Control the density of of the noise.
double LowLICContrastEnhancementFactor
void SetNormalizeVectors(int val)
Normalize vectors during integration.
virtual void GetGlobalMinMax(vtkPainterCommunicator *, float &, float &)
Get the min/max across all ranks.
void CreateCommunicator()
Creates a new communicator for internal use based on this rank's visible data.
void SetMaskOnSurface(int val)
When set MaskOnSurface computes |V| for use in the fragment masking tests on the surface.
void SetLowColorContrastEnhancementFactor(double val)
void SetEnhancedLIC(int val)
EnhancedLIC mean compute the LIC twice with the second pass using the edge-enhanced result of the fir...
static bool IsSupported(vtkRenderWindow *context)
Returns true if the rendering context supports extensions needed by this painter.
double LowColorContrastEnhancementFactor
virtual vtkDataObject * GetOutput()
Get the output data object from this painter.
virtual void ReleaseGraphicsResources(vtkWindow *win)
Release any graphics resources that are being consumed by this mapper.
void SetMaskIntensity(double val)
The MaskIntensity controls the blending of the mask color and the geometry color.
bool NeedToUpdateOutputData()
Return false if stage can be skipped.
void GetBounds(vtkDataObject *data, double bounds[6])
Computes data bounds.
void SetInputArrayToProcess(int fieldAssociation, const char *name)
Set the vectors to used for applying LIC.
void SetMaskColor(double r, double g, double b)
window superclass for vtkRenderWindow
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.