#include <vtkSurfaceLICPainter.h>
vtkSurfaceLICPainter painter performs LIC on the surface of arbitrary geometry. Point vectors are used as the vector field for generating the LIC. The implementation is based on "Image Space Based Visualization on Unsteady Flow on Surfaces" by Laramee, Jobard and Hauser appeared in proceedings of IEEE Visualization '03, pages 131-138.
Definition at line 34 of file vtkSurfaceLICPainter.h.
static bool | IsSupported (vtkRenderWindow *) |
vtkSurfaceLICPainter () | |
~vtkSurfaceLICPainter () | |
Public Types | |
typedef vtkPainter | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
virtual void | ReleaseGraphicsResources (vtkWindow *) |
virtual vtkDataObject * | GetOutput () |
int | GetLICSuccess () |
virtual void | SetEnable (int) |
virtual int | GetEnable () |
virtual void | EnableOn () |
virtual void | EnableOff () |
void | SetInputArrayToProcess (int fieldAssociation, const char *name) |
void | SetInputArrayToProcess (int fieldAssociation, int fieldAttributeType) |
virtual void | SetEnhancedLIC (int) |
virtual int | GetEnhancedLIC () |
virtual void | EnhancedLICOn () |
virtual void | EnhancedLICOff () |
virtual void | SetNumberOfSteps (int) |
virtual int | GetNumberOfSteps () |
virtual void | SetStepSize (double) |
virtual double | GetStepSize () |
virtual void | SetLICIntensity (double) |
virtual double | GetLICIntensity () |
int | GetRenderingPreparationSuccess () |
Static Public Member Functions | |
static vtkSurfaceLICPainter * | New () |
static int | IsTypeOf (const char *type) |
static vtkSurfaceLICPainter * | SafeDownCast (vtkObject *o) |
Protected Member Functions | |
void | GetBounds (vtkDataObject *data, double bounds[6]) |
virtual void | ReportReferences (vtkGarbageCollector *collector) |
virtual void | PrepareForRendering (vtkRenderer *, vtkActor *) |
bool | CanRenderLIC (vtkRenderer *, vtkActor *) |
virtual void | RenderInternal (vtkRenderer *renderer, vtkActor *actor, unsigned long typeflags, bool forceCompileOnly) |
bool | PrepareOutput () |
bool | FixTCoords (vtkDataSet *ds) |
Protected Attributes | |
int | NumberOfSteps |
double | StepSize |
int | Enable |
int | EnhancedLIC |
int | RenderingPreparationSuccess |
int | LICSuccess |
double | LICIntensity |
vtkSurfaceLICPainter::vtkSurfaceLICPainter | ( | ) | [protected] |
Returns true is the rendering context supports extensions needed by this painter.
vtkSurfaceLICPainter::~vtkSurfaceLICPainter | ( | ) | [protected] |
Returns true is the rendering context supports extensions needed by this painter.
static vtkSurfaceLICPainter* vtkSurfaceLICPainter::New | ( | ) | [static] |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Reimplemented from vtkObject.
virtual const char* vtkSurfaceLICPainter::GetClassName | ( | ) | [virtual] |
Reimplemented from vtkPainter.
static int vtkSurfaceLICPainter::IsTypeOf | ( | const char * | name | ) | [static] |
Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkPainter.
virtual int vtkSurfaceLICPainter::IsA | ( | const char * | name | ) | [virtual] |
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkPainter.
static vtkSurfaceLICPainter* vtkSurfaceLICPainter::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Reimplemented from vtkPainter.
void vtkSurfaceLICPainter::PrintSelf | ( | ostream & | os, | |
vtkIndent | indent | |||
) | [virtual] |
Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkPainter.
virtual void vtkSurfaceLICPainter::ReleaseGraphicsResources | ( | vtkWindow * | ) | [virtual] |
Release any graphics resources that are being consumed by this mapper. The parameter window could be used to determine which graphic resources to release. In this case, releases the display lists.
Reimplemented from vtkPainter.
virtual vtkDataObject* vtkSurfaceLICPainter::GetOutput | ( | ) | [virtual] |
Get the output data object from this painter. Overridden to pass the input points (or cells) vectors as the tcoords to the deletage painters. This is required by the internal GLSL shader programs used for generating LIC.
Reimplemented from vtkPainter.
virtual void vtkSurfaceLICPainter::SetEnable | ( | int | ) | [virtual] |
Enable/Disable this painter.
virtual int vtkSurfaceLICPainter::GetEnable | ( | ) | [virtual] |
Enable/Disable this painter.
virtual void vtkSurfaceLICPainter::EnableOn | ( | ) | [virtual] |
Enable/Disable this painter.
virtual void vtkSurfaceLICPainter::EnableOff | ( | ) | [virtual] |
Enable/Disable this painter.
void vtkSurfaceLICPainter::SetInputArrayToProcess | ( | int | fieldAssociation, | |
const char * | name | |||
) |
Set the vectors to used for applying LIC. By default point vectors are used. Arguments are same as those passed to vtkAlgorithm::SetInputArrayToProcess except the first 3 arguments i.e. idx, port, connection.
void vtkSurfaceLICPainter::SetInputArrayToProcess | ( | int | fieldAssociation, | |
int | fieldAttributeType | |||
) |
Set the vectors to used for applying LIC. By default point vectors are used. Arguments are same as those passed to vtkAlgorithm::SetInputArrayToProcess except the first 3 arguments i.e. idx, port, connection.
virtual void vtkSurfaceLICPainter::SetEnhancedLIC | ( | int | ) | [virtual] |
Enable/Disable enhanced LIC that improves image quality by increasing inter-streamline contrast while suppressing artifacts. Enhanced LIC performs two passes of LIC, with a 3x3 Laplacian high-pass filter in between that processes the output of pass #1 LIC and forwards the result as the input 'noise' to pass #2 LIC. This flag is automatically turned off during user interaction.
virtual int vtkSurfaceLICPainter::GetEnhancedLIC | ( | ) | [virtual] |
Enable/Disable enhanced LIC that improves image quality by increasing inter-streamline contrast while suppressing artifacts. Enhanced LIC performs two passes of LIC, with a 3x3 Laplacian high-pass filter in between that processes the output of pass #1 LIC and forwards the result as the input 'noise' to pass #2 LIC. This flag is automatically turned off during user interaction.
virtual void vtkSurfaceLICPainter::EnhancedLICOn | ( | ) | [virtual] |
Enable/Disable enhanced LIC that improves image quality by increasing inter-streamline contrast while suppressing artifacts. Enhanced LIC performs two passes of LIC, with a 3x3 Laplacian high-pass filter in between that processes the output of pass #1 LIC and forwards the result as the input 'noise' to pass #2 LIC. This flag is automatically turned off during user interaction.
virtual void vtkSurfaceLICPainter::EnhancedLICOff | ( | ) | [virtual] |
Enable/Disable enhanced LIC that improves image quality by increasing inter-streamline contrast while suppressing artifacts. Enhanced LIC performs two passes of LIC, with a 3x3 Laplacian high-pass filter in between that processes the output of pass #1 LIC and forwards the result as the input 'noise' to pass #2 LIC. This flag is automatically turned off during user interaction.
virtual void vtkSurfaceLICPainter::SetNumberOfSteps | ( | int | ) | [virtual] |
Get/Set the number of integration steps in each direction.
virtual int vtkSurfaceLICPainter::GetNumberOfSteps | ( | ) | [virtual] |
Get/Set the number of integration steps in each direction.
virtual void vtkSurfaceLICPainter::SetStepSize | ( | double | ) | [virtual] |
Get/Set the step size (in pixels).
virtual double vtkSurfaceLICPainter::GetStepSize | ( | ) | [virtual] |
Get/Set the step size (in pixels).
virtual void vtkSurfaceLICPainter::SetLICIntensity | ( | double | ) | [virtual] |
Control the contribution of the LIC in the final output image. 0.0 produces same result as disabling LIC alltogether, while 1.0 implies show LIC result alone.
virtual double vtkSurfaceLICPainter::GetLICIntensity | ( | ) | [virtual] |
Control the contribution of the LIC in the final output image. 0.0 produces same result as disabling LIC alltogether, while 1.0 implies show LIC result alone.
int vtkSurfaceLICPainter::GetRenderingPreparationSuccess | ( | ) | [inline] |
Check if PrepareForRendering passes.
Definition at line 102 of file vtkSurfaceLICPainter.h.
int vtkSurfaceLICPainter::GetLICSuccess | ( | ) | [inline] |
Check if the LIC process runs properly.
Definition at line 107 of file vtkSurfaceLICPainter.h.
static bool vtkSurfaceLICPainter::IsSupported | ( | vtkRenderWindow * | ) | [static] |
Returns true is the rendering context supports extensions needed by this painter.
void vtkSurfaceLICPainter::GetBounds | ( | vtkDataObject * | data, | |
double | bounds[6] | |||
) | [protected] |
Computes data bounds.
virtual void vtkSurfaceLICPainter::ReportReferences | ( | vtkGarbageCollector * | collector | ) | [protected, virtual] |
Take part in garbage collection.
Reimplemented from vtkPainter.
virtual void vtkSurfaceLICPainter::PrepareForRendering | ( | vtkRenderer * | , | |
vtkActor * | ||||
) | [protected, virtual] |
Some subclasses may need to do some preprocessing before the actual rendering can be done eg. build effecient representation for the data etc. This should be done here. This method get called after the ProcessInformation() but before RenderInternal().
Reimplemented from vtkPainter.
virtual void vtkSurfaceLICPainter::RenderInternal | ( | vtkRenderer * | renderer, | |
vtkActor * | actor, | |||
unsigned long | typeflags, | |||
bool | forceCompileOnly | |||
) | [protected, virtual] |
Performs the actual rendering. Subclasses may override this method. default implementation merely call a Render on the DelegatePainter, if any. When RenderInternal() is called, it is assured that the DelegatePainter is in sync with this painter i.e. UpdateDelegatePainter() has been called.
Reimplemented from vtkPainter.
bool vtkSurfaceLICPainter::PrepareOutput | ( | ) | [protected] |
Prepares output data. Returns true if vectors are available.
bool vtkSurfaceLICPainter::FixTCoords | ( | vtkDataSet * | ds | ) | [protected] |
Prepares output data. Returns true if vectors are available.
bool vtkSurfaceLICPainter::CanRenderLIC | ( | vtkRenderer * | , | |
vtkActor * | ||||
) | [protected] |
Returns true when rendering LIC is possible.
int vtkSurfaceLICPainter::NumberOfSteps [protected] |
Definition at line 151 of file vtkSurfaceLICPainter.h.
double vtkSurfaceLICPainter::StepSize [protected] |
Definition at line 152 of file vtkSurfaceLICPainter.h.
int vtkSurfaceLICPainter::Enable [protected] |
Definition at line 154 of file vtkSurfaceLICPainter.h.
int vtkSurfaceLICPainter::EnhancedLIC [protected] |
Definition at line 155 of file vtkSurfaceLICPainter.h.
int vtkSurfaceLICPainter::RenderingPreparationSuccess [protected] |
Definition at line 156 of file vtkSurfaceLICPainter.h.
int vtkSurfaceLICPainter::LICSuccess [protected] |
Definition at line 157 of file vtkSurfaceLICPainter.h.
double vtkSurfaceLICPainter::LICIntensity [protected] |
Definition at line 158 of file vtkSurfaceLICPainter.h.