VTK
|
parallel part of GPU-based implementation of Line Integral Convolution (LIC) More...
#include <vtkPLineIntegralConvolution2D.h>
Public Types | |
typedef vtkLineIntegralConvolution2D | Superclass |
![]() | |
typedef vtkObject | Superclass |
typedef vtkObject | Superclass |
enum | { ENHANCE_CONTRAST_OFF =0, ENHANCE_CONTRAST_ON =1 } |
Enable/Disable contrast and dynamic range correction stages. More... | |
enum | { ENHANCE_CONTRAST_OFF =0, ENHANCE_CONTRAST_ON =1 } |
Enable/Disable contrast and dynamic range correction stages. More... | |
Public Member Functions | |
virtual int | IsA (const char *type) |
Return 1 if this class is the same type of (or a subclass of) the named class. More... | |
vtkPLineIntegralConvolution2D * | NewInstance () const |
virtual void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. More... | |
virtual void | GetGlobalMinMax (vtkPainterCommunicator *comm, float &min, float &max) override |
For parallel operation, find global min/max min/max are in/out. More... | |
virtual void | WriteTimerLog (const char *fileName) override |
Methods used for parallel benchmarks. More... | |
virtual void | SetCommunicator (vtkPainterCommunicator *) override |
Set the communicator to use during parallel operation The communicator will not be duplicated or reference counted for performance reasons thus caller should hold/manage reference to the communicator during use of the LIC object. More... | |
virtual vtkPainterCommunicator * | GetCommunicator () override |
Set the communicator to use during parallel operation The communicator will not be duplicated or reference counted for performance reasons thus caller should hold/manage reference to the communicator during use of the LIC object. More... | |
![]() | |
vtkLineIntegralConvolution2D * | NewInstance () const |
vtkTextureObject * | Execute (vtkTextureObject *vectorTex, vtkTextureObject *noiseTex) |
Compute the lic on the entire vector field texture. More... | |
vtkTextureObject * | Execute (const int extent[4], vtkTextureObject *vectorTex, vtkTextureObject *noiseTex) |
Compute the lic on the indicated subset of the vector field texture. More... | |
vtkTextureObject * | Execute (const vtkPixelExtent &inputTexExtent, const std::deque< vtkPixelExtent > &vectorExtent, const std::deque< vtkPixelExtent > &licExtent, vtkTextureObject *vectorTex, vtkTextureObject *maskVectorTex, vtkTextureObject *noiseTex) |
Compute LIC over the desired subset of the input texture. More... | |
vtkLineIntegralConvolution2D * | NewInstance () const |
vtkTextureObject * | Execute (vtkTextureObject *vectorTex, vtkTextureObject *noiseTex) |
Compute the lic on the entire vector field texture. More... | |
vtkTextureObject * | Execute (const int extent[4], vtkTextureObject *vectorTex, vtkTextureObject *noiseTex) |
Compute the lic on the indicated subset of the vector field texture. More... | |
vtkTextureObject * | Execute (const vtkPixelExtent &inputTexExtent, const std::deque< vtkPixelExtent > &vectorExtent, const std::deque< vtkPixelExtent > &licExtent, vtkTextureObject *vectorTex, vtkTextureObject *maskVectorTex, vtkTextureObject *noiseTex) |
Compute LIC over the desired subset of the input texture. More... | |
void | SetContext (vtkRenderWindow *context) |
Set/Get the rendering context. More... | |
vtkRenderWindow * | GetContext () |
Set/Get the rendering context. More... | |
virtual void | SetEnhancedLIC (int) |
EnhancedLIC mean compute the LIC twice with the second pass using the edge-enhanced result of the first pass as a noise texture. More... | |
virtual int | GetEnhancedLIC () |
EnhancedLIC mean compute the LIC twice with the second pass using the edge-enhanced result of the first pass as a noise texture. More... | |
virtual void | EnhancedLICOn () |
EnhancedLIC mean compute the LIC twice with the second pass using the edge-enhanced result of the first pass as a noise texture. More... | |
virtual void | EnhancedLICOff () |
EnhancedLIC mean compute the LIC twice with the second pass using the edge-enhanced result of the first pass as a noise texture. More... | |
virtual void | SetLowContrastEnhancementFactor (double) |
This feature is used to fine tune the contrast enhancement. More... | |
virtual double | GetLowContrastEnhancementFactor () |
This feature is used to fine tune the contrast enhancement. More... | |
virtual void | SetHighContrastEnhancementFactor (double) |
This feature is used to fine tune the contrast enhancement. More... | |
virtual double | GetHighContrastEnhancementFactor () |
This feature is used to fine tune the contrast enhancement. More... | |
virtual void | SetAntiAlias (int) |
Enable/Disable the anti-aliasing pass. More... | |
virtual int | GetAntiAlias () |
Enable/Disable the anti-aliasing pass. More... | |
virtual void | AntiAliasOn () |
Enable/Disable the anti-aliasing pass. More... | |
virtual void | AntiAliasOff () |
Enable/Disable the anti-aliasing pass. More... | |
virtual void | SetNumberOfSteps (int) |
Number of streamline integration steps (initial value is 1). More... | |
virtual int | GetNumberOfSteps () |
Number of streamline integration steps (initial value is 1). More... | |
virtual void | SetStepSize (double) |
Get/Set the streamline integration step size (0.01 by default). More... | |
virtual double | GetStepSize () |
Get/Set the streamline integration step size (0.01 by default). More... | |
void | SetComponentIds (int c0, int c1) |
If VectorField has >= 3 components, we must choose which 2 components form the (X, Y) components for the vector field. More... | |
void | SetComponentIds (int c[2]) |
If VectorField has >= 3 components, we must choose which 2 components form the (X, Y) components for the vector field. More... | |
virtual int * | GetComponentIds () |
If VectorField has >= 3 components, we must choose which 2 components form the (X, Y) components for the vector field. More... | |
virtual void | GetComponentIds (int &, int &) |
If VectorField has >= 3 components, we must choose which 2 components form the (X, Y) components for the vector field. More... | |
virtual void | GetComponentIds (int[2]) |
If VectorField has >= 3 components, we must choose which 2 components form the (X, Y) components for the vector field. More... | |
virtual void | SetMaxNoiseValue (double) |
Set the max noise value for use during LIC integration normalization. More... | |
virtual double | GetMaxNoiseValue () |
Set the max noise value for use during LIC integration normalization. More... | |
void | SetTransformVectors (int val) |
This class performs LIC in the normalized image space. More... | |
virtual int | GetTransformVectors () |
This class performs LIC in the normalized image space. More... | |
void | SetNormalizeVectors (int val) |
Set/Get the spacing in each dimension of the plane on which the vector field is defined. More... | |
virtual int | GetNormalizeVectors () |
Set/Get the spacing in each dimension of the plane on which the vector field is defined. More... | |
virtual void | SetMaskThreshold (double) |
The MaskThreshold controls blanking of the LIC texture. More... | |
virtual double | GetMaskThreshold () |
The MaskThreshold controls blanking of the LIC texture. More... | |
void | SetContext (vtkOpenGLRenderWindow *context) |
Set/Get the rendering context. More... | |
vtkOpenGLRenderWindow * | GetContext () |
Set/Get the rendering context. More... | |
virtual void | SetEnhancedLIC (int) |
EnhancedLIC mean compute the LIC twice with the second pass using the edge-enhanced result of the first pass as a noise texture. More... | |
virtual int | GetEnhancedLIC () |
EnhancedLIC mean compute the LIC twice with the second pass using the edge-enhanced result of the first pass as a noise texture. More... | |
virtual void | EnhancedLICOn () |
EnhancedLIC mean compute the LIC twice with the second pass using the edge-enhanced result of the first pass as a noise texture. More... | |
virtual void | EnhancedLICOff () |
EnhancedLIC mean compute the LIC twice with the second pass using the edge-enhanced result of the first pass as a noise texture. More... | |
virtual void | SetLowContrastEnhancementFactor (double) |
This feature is used to fine tune the contrast enhancement. More... | |
virtual double | GetLowContrastEnhancementFactor () |
This feature is used to fine tune the contrast enhancement. More... | |
virtual void | SetHighContrastEnhancementFactor (double) |
This feature is used to fine tune the contrast enhancement. More... | |
virtual double | GetHighContrastEnhancementFactor () |
This feature is used to fine tune the contrast enhancement. More... | |
virtual void | SetAntiAlias (int) |
Enable/Disable the anti-aliasing pass. More... | |
virtual int | GetAntiAlias () |
Enable/Disable the anti-aliasing pass. More... | |
virtual void | AntiAliasOn () |
Enable/Disable the anti-aliasing pass. More... | |
virtual void | AntiAliasOff () |
Enable/Disable the anti-aliasing pass. More... | |
virtual void | SetNumberOfSteps (int) |
Number of streamline integration steps (initial value is 1). More... | |
virtual int | GetNumberOfSteps () |
Number of streamline integration steps (initial value is 1). More... | |
virtual void | SetStepSize (double) |
Get/Set the streamline integration step size (0.01 by default). More... | |
virtual double | GetStepSize () |
Get/Set the streamline integration step size (0.01 by default). More... | |
void | SetComponentIds (int c0, int c1) |
If VectorField has >= 3 components, we must choose which 2 components form the (X, Y) components for the vector field. More... | |
void | SetComponentIds (int c[2]) |
If VectorField has >= 3 components, we must choose which 2 components form the (X, Y) components for the vector field. More... | |
virtual int * | GetComponentIds () |
If VectorField has >= 3 components, we must choose which 2 components form the (X, Y) components for the vector field. More... | |
virtual void | GetComponentIds (int &, int &) |
If VectorField has >= 3 components, we must choose which 2 components form the (X, Y) components for the vector field. More... | |
virtual void | GetComponentIds (int[2]) |
If VectorField has >= 3 components, we must choose which 2 components form the (X, Y) components for the vector field. More... | |
virtual void | SetMaxNoiseValue (double) |
Set the max noise value for use during LIC integration normalization. More... | |
virtual double | GetMaxNoiseValue () |
Set the max noise value for use during LIC integration normalization. More... | |
void | SetTransformVectors (int val) |
This class performs LIC in the normalized image space. More... | |
virtual int | GetTransformVectors () |
This class performs LIC in the normalized image space. More... | |
void | SetNormalizeVectors (int val) |
Set/Get the spacing in each dimension of the plane on which the vector field is defined. More... | |
virtual int | GetNormalizeVectors () |
Set/Get the spacing in each dimension of the plane on which the vector field is defined. More... | |
virtual void | SetMaskThreshold (double) |
The MaskThreshold controls blanking of the LIC texture. More... | |
virtual double | GetMaskThreshold () |
The MaskThreshold controls blanking of the LIC texture. More... | |
virtual void | SetEnhanceContrast (int) |
Enable/Disable contrast and dynamic range correction stages. More... | |
virtual int | GetEnhanceContrast () |
Enable/Disable contrast and dynamic range correction stages. More... | |
virtual void | EnhanceContrastOn () |
Enable/Disable contrast and dynamic range correction stages. More... | |
virtual void | EnhanceContrastOff () |
Enable/Disable contrast and dynamic range correction stages. More... | |
virtual void | SetEnhanceContrast (int) |
Enable/Disable contrast and dynamic range correction stages. More... | |
virtual int | GetEnhanceContrast () |
Enable/Disable contrast and dynamic range correction stages. More... | |
virtual void | EnhanceContrastOn () |
Enable/Disable contrast and dynamic range correction stages. More... | |
virtual void | EnhanceContrastOff () |
Enable/Disable contrast and dynamic range correction stages. More... | |
![]() | |
vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
virtual void | DebugOn () |
Turn debugging output on. More... | |
virtual void | DebugOff () |
Turn debugging output off. More... | |
bool | GetDebug () |
Get the value of the debug flag. More... | |
void | SetDebug (bool debugFlag) |
Set the value of the debug flag. More... | |
virtual void | Modified () |
Update the modification time for this object. More... | |
virtual vtkMTimeType | GetMTime () |
Return this object's modified time. More... | |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
int | HasObserver (unsigned long event) |
int | HasObserver (const char *event) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
vtkCommand * | GetCommand (unsigned long tag) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObserver (vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObservers (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObservers (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
int | HasObserver (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
int | HasObserver (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Allow user to set the AbortFlagOn() with the return value of the callback method. More... | |
int | InvokeEvent (unsigned long event, void *callData) |
This method invokes an event and return whether the event was aborted or not. More... | |
int | InvokeEvent (const char *event, void *callData) |
This method invokes an event and return whether the event was aborted or not. More... | |
![]() | |
const char * | GetClassName () const |
Return the class name as a string. More... | |
virtual void | Delete () |
Delete a VTK object. More... | |
virtual void | FastDelete () |
Delete a reference to this object. More... | |
void | InitializeObjectBase () |
void | Print (ostream &os) |
Print an object to an ostream. More... | |
virtual void | Register (vtkObjectBase *o) |
Increase the reference count (mark as used by another object). More... | |
virtual void | UnRegister (vtkObjectBase *o) |
Decrease the reference count (release by another object). More... | |
int | GetReferenceCount () |
Return the current reference count of this object. More... | |
void | SetReferenceCount (int) |
Sets the reference count. More... | |
void | PrintRevisions (ostream &) |
Legacy. More... | |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
Static Public Member Functions | |
static vtkPLineIntegralConvolution2D * | New () |
static int | IsTypeOf (const char *type) |
static vtkPLineIntegralConvolution2D * | SafeDownCast (vtkObjectBase *o) |
![]() | |
static vtkLineIntegralConvolution2D * | New () |
static int | IsTypeOf (const char *type) |
static vtkLineIntegralConvolution2D * | SafeDownCast (vtkObjectBase *o) |
static bool | IsSupported (vtkRenderWindow *renWin) |
Returns if the context supports the required extensions. More... | |
static void | SetVectorTexParameters (vtkTextureObject *vectors) |
Convenience functions to ensure that the input textures are configured correctly. More... | |
static void | SetNoiseTexParameters (vtkTextureObject *noise) |
static vtkLineIntegralConvolution2D * | New () |
static int | IsTypeOf (const char *type) |
static vtkLineIntegralConvolution2D * | SafeDownCast (vtkObjectBase *o) |
static bool | IsSupported (vtkRenderWindow *renWin) |
Returns if the context supports the required extensions. More... | |
static void | SetVectorTexParameters (vtkTextureObject *vectors) |
Convenience functions to ensure that the input textures are configured correctly. More... | |
static void | SetNoiseTexParameters (vtkTextureObject *noise) |
![]() | |
static vtkObject * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
static void | BreakOnError () |
This method is called when vtkErrorMacro executes. More... | |
static void | SetGlobalWarningDisplay (int val) |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static void | GlobalWarningDisplayOn () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static void | GlobalWarningDisplayOff () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static int | GetGlobalWarningDisplay () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
![]() | |
static vtkTypeBool | IsTypeOf (const char *name) |
Return 1 if this class type is the same type of (or a subclass of) the named class. More... | |
static vtkObjectBase * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkPLineIntegralConvolution2D () | |
virtual | ~vtkPLineIntegralConvolution2D () |
virtual void | StartTimerEvent (const char *name) override |
Methods used for parallel benchmarks. More... | |
virtual void | EndTimerEvent (const char *name) override |
Methods used for parallel benchmarks. More... | |
![]() | |
vtkLineIntegralConvolution2D () | |
~vtkLineIntegralConvolution2D () override | |
void | SetVTShader (vtkShaderProgram2 *prog) |
void | SetLIC0Shader (vtkShaderProgram2 *prog) |
void | SetLICIShader (vtkShaderProgram2 *prog) |
void | SetLICNShader (vtkShaderProgram2 *prog) |
void | SetEEShader (vtkShaderProgram2 *prog) |
void | SetCEShader (vtkShaderProgram2 *prog) |
void | SetAAHShader (vtkShaderProgram2 *prog) |
void | SetAAVShader (vtkShaderProgram2 *prog) |
void | BuildShaders () |
void | RenderQuad (float computeBounds[4], vtkPixelExtent computeExtent) |
vtkTextureObject * | AllocateBuffer (unsigned int texSize[2]) |
void | SetNoise2TexParameters (vtkTextureObject *noise) |
Convenience functions to ensure that the input textures are configured correctly. More... | |
vtkLineIntegralConvolution2D () | |
virtual | ~vtkLineIntegralConvolution2D () |
void | SetVTShader (vtkShaderProgram *prog) |
void | SetLIC0Shader (vtkShaderProgram *prog) |
void | SetLICIShader (vtkShaderProgram *prog) |
void | SetLICNShader (vtkShaderProgram *prog) |
void | SetEEShader (vtkShaderProgram *prog) |
void | SetCEShader (vtkShaderProgram *prog) |
void | SetAAHShader (vtkShaderProgram *prog) |
void | SetAAVShader (vtkShaderProgram *prog) |
void | BuildShaders () |
void | RenderQuad (float computeBounds[4], vtkPixelExtent computeExtent) |
vtkTextureObject * | AllocateBuffer (unsigned int texSize[2]) |
void | SetNoise2TexParameters (vtkTextureObject *noise) |
Convenience functions to ensure that the input textures are configured correctly. More... | |
![]() | |
vtkObject () | |
~vtkObject () override | |
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
These methods allow a command to exclusively grab all events. More... | |
void | InternalReleaseFocus () |
These methods allow a command to exclusively grab all events. More... | |
![]() | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | CollectRevisions (ostream &) |
virtual void | ReportReferences (vtkGarbageCollector *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
parallel part of GPU-based implementation of Line Integral Convolution (LIC)
Implements the parallel parts of the algorithm.
Definition at line 37 of file vtkPLineIntegralConvolution2D.h.
Definition at line 41 of file vtkPLineIntegralConvolution2D.h.
|
protected |
|
protectedvirtual |
|
static |
|
static |
|
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 vtkLineIntegralConvolution2D.
|
static |
|
protectedvirtual |
Reimplemented from vtkLineIntegralConvolution2D.
vtkPLineIntegralConvolution2D* vtkPLineIntegralConvolution2D::NewInstance | ( | ) | const |
|
overridevirtual |
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 vtkLineIntegralConvolution2D.
|
overridevirtual |
Set the communicator to use during parallel operation The communicator will not be duplicated or reference counted for performance reasons thus caller should hold/manage reference to the communicator during use of the LIC object.
Reimplemented from vtkLineIntegralConvolution2D.
|
overridevirtual |
Set the communicator to use during parallel operation The communicator will not be duplicated or reference counted for performance reasons thus caller should hold/manage reference to the communicator during use of the LIC object.
Reimplemented from vtkLineIntegralConvolution2D.
|
overridevirtual |
For parallel operation, find global min/max min/max are in/out.
Reimplemented from vtkLineIntegralConvolution2D.
|
overridevirtual |
Methods used for parallel benchmarks.
Use cmake to define vtkLineIntegralConviolution2DTIME to enable benchmarks. During each update timing information is stored, it can be written to disk by calling WriteLog.
Reimplemented from vtkLineIntegralConvolution2D.
|
overrideprotectedvirtual |
Methods used for parallel benchmarks.
Use cmake to define vtkSurfaceLICPainterTIME to enable benchmarks. During each update timing information is stored, it can be written to disk by calling WriteLog. Note: Some of the timings are enabled by the surface lic painter.
Reimplemented from vtkLineIntegralConvolution2D.
|
overrideprotectedvirtual |
Methods used for parallel benchmarks.
Use cmake to define vtkSurfaceLICPainterTIME to enable benchmarks. During each update timing information is stored, it can be written to disk by calling WriteLog. Note: Some of the timings are enabled by the surface lic painter.
Reimplemented from vtkLineIntegralConvolution2D.