VTK  9.1.0
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
vtkOpenGLFluidMapper Class Reference

Render fluid from position data (and color, if available) More...

#include <vtkOpenGLFluidMapper.h>

Inheritance diagram for vtkOpenGLFluidMapper:
[legend]
Collaboration diagram for vtkOpenGLFluidMapper:
[legend]

Public Types

enum  FluidSurfaceFilterMethod { BilateralGaussian = 0 , NarrowRange , NumFilterMethods }
 Filter method to filter the depth buffer. More...
 
enum  FluidDisplayMode {
  UnfilteredOpaqueSurface = 0 , FilteredOpaqueSurface , UnfilteredSurfaceNormal , FilteredSurfaceNormal ,
  TransparentFluidVolume , NumDisplayModes
}
 Display mode for the fluid, default value is TransparentFluidVolume. More...
 
typedef vtkAbstractVolumeMapper Superclass
 
- Public Types inherited from vtkAbstractVolumeMapper
typedef vtkAbstractMapper3D Superclass
 
- Public Types inherited from vtkAbstractMapper3D
typedef vtkAbstractMapper Superclass
 
- Public Types inherited from vtkAbstractMapper
typedef vtkAlgorithm Superclass
 
- Public Types inherited from vtkAlgorithm
enum  DesiredOutputPrecision { SINGLE_PRECISION , DOUBLE_PRECISION , DEFAULT_PRECISION }
 Values used for setting the desired output precision for various algorithms. More...
 
typedef vtkObject Superclass
 

Public Member Functions

virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class.
 
vtkOpenGLFluidMapperNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
 
void SetNarrowRangeFilterParameters (float lambda, float mu)
 Optional parameters, exclusively for narrow range filter The first parameter is to control smoothing between surface depth values The second parameter is to control curvature of the surface edges.
 
void SetBilateralGaussianFilterParameter (float sigmaDepth)
 Optional parameters, exclusively for bilateral gaussian filter The parameter is for controlling smoothing between surface depth values.
 
void Render (vtkRenderer *ren, vtkVolume *vol) override
 This calls RenderPiece.
 
void ReleaseGraphicsResources (vtkWindow *w) override
 Release graphics resources and ask components to release their own resources.
 
void SetInputData (vtkPolyData *in)
 Specify the input data to map.
 
vtkPolyDataGetInput ()
 Specify the input data to map.
 
virtual void SetScalarVisibility (bool)
 Turn on/off flag to control whether scalar data is used to color objects.
 
virtual bool GetScalarVisibility ()
 Turn on/off flag to control whether scalar data is used to color objects.
 
virtual void ScalarVisibilityOn ()
 Turn on/off flag to control whether scalar data is used to color objects.
 
virtual void ScalarVisibilityOff ()
 Turn on/off flag to control whether scalar data is used to color objects.
 
virtual void SetParticleRadius (float)
 Set/Get the particle radius, must be explicitly set by user To fuse the gaps between particles and obtain a smooth surface, this parameter need to be slightly larger than the actual particle radius, (particle radius is the half distance between two consecutive particles in regular pattern sampling)
 
virtual float GetParticleRadius ()
 Set/Get the particle radius, must be explicitly set by user To fuse the gaps between particles and obtain a smooth surface, this parameter need to be slightly larger than the actual particle radius, (particle radius is the half distance between two consecutive particles in regular pattern sampling)
 
virtual void SetSurfaceFilterIterations (uint32_t)
 Get/Set the number of filter iterations to filter the depth surface This is an optional parameter, default value is 3 Usually set this to around 3-5 Too many filter iterations will over-smooth the surface.
 
virtual uint32_t GetSurfaceFilterIterations ()
 Get/Set the number of filter iterations to filter the depth surface This is an optional parameter, default value is 3 Usually set this to around 3-5 Too many filter iterations will over-smooth the surface.
 
virtual void SetThicknessAndVolumeColorFilterIterations (uint32_t)
 Get/Set the number of filter iterations to filter the volume thickness and particle color This is an optional parameter, default value is 3.
 
virtual uint32_t GetThicknessAndVolumeColorFilterIterations ()
 Get/Set the number of filter iterations to filter the volume thickness and particle color This is an optional parameter, default value is 3.
 
virtual void SetSurfaceFilterRadius (uint32_t)
 Get/Set the filter radius for smoothing the depth surface This is an optional parameter, default value is 5 This is not exactly the radius in pixels, instead it is just a parameter used for computing the actual filter radius in the screen space filtering.
 
virtual uint32_t GetSurfaceFilterRadius ()
 Get/Set the filter radius for smoothing the depth surface This is an optional parameter, default value is 5 This is not exactly the radius in pixels, instead it is just a parameter used for computing the actual filter radius in the screen space filtering.
 
virtual void SetThicknessAndVolumeColorFilterRadius (float)
 Get/Set the filter radius to filter the volume thickness and particle color This is an optional parameter, default value is 10 (pixels)
 
virtual float GetThicknessAndVolumeColorFilterRadius ()
 Get/Set the filter radius to filter the volume thickness and particle color This is an optional parameter, default value is 10 (pixels)
 
virtual void SetSurfaceFilterMethod (vtkOpenGLFluidMapper::FluidSurfaceFilterMethod)
 Get/Set the filter method for filtering fluid surface.
 
virtual vtkOpenGLFluidMapper::FluidSurfaceFilterMethod GetSurfaceFilterMethod ()
 Get/Set the filter method for filtering fluid surface.
 
virtual void SetDisplayMode (vtkOpenGLFluidMapper::FluidDisplayMode)
 Get/Set the display mode.
 
virtual vtkOpenGLFluidMapper::FluidDisplayMode GetDisplayMode ()
 Get/Set the display mode.
 
virtual void SetAttenuationColor (float, float, float)
 Get/Set the fluid attenuation color (color that will be absorpted exponentially when going through the fluid volume)
 
virtual void SetAttenuationColor (float[3])
 Get/Set the fluid attenuation color (color that will be absorpted exponentially when going through the fluid volume)
 
virtual float * GetAttenuationColor ()
 Get/Set the fluid attenuation color (color that will be absorpted exponentially when going through the fluid volume)
 
virtual void GetAttenuationColor (float &, float &, float &)
 Get/Set the fluid attenuation color (color that will be absorpted exponentially when going through the fluid volume)
 
virtual void GetAttenuationColor (float[3])
 Get/Set the fluid attenuation color (color that will be absorpted exponentially when going through the fluid volume)
 
virtual void SetOpaqueColor (float, float, float)
 Get/Set the fluid surface color if rendered in opaque surface mode without particle color.
 
virtual void SetOpaqueColor (float[3])
 Get/Set the fluid surface color if rendered in opaque surface mode without particle color.
 
virtual float * GetOpaqueColor ()
 Get/Set the fluid surface color if rendered in opaque surface mode without particle color.
 
virtual void GetOpaqueColor (float &, float &, float &)
 Get/Set the fluid surface color if rendered in opaque surface mode without particle color.
 
virtual void GetOpaqueColor (float[3])
 Get/Set the fluid surface color if rendered in opaque surface mode without particle color.
 
virtual void SetParticleColorPower (float)
 Get/Set the power value for particle color if input data has particle color Default value is 0.1, and can be set to any non-negative number The particle color is then recomputed as newColor = pow(oldColor, power) * scale.
 
virtual float GetParticleColorPower ()
 Get/Set the power value for particle color if input data has particle color Default value is 0.1, and can be set to any non-negative number The particle color is then recomputed as newColor = pow(oldColor, power) * scale.
 
virtual void SetParticleColorScale (float)
 Get/Set the scale value for particle color if input data has particle color Default value is 1.0, and can be set to any non-negative number The particle color is then recomputed as newColor = pow(oldColor, power) * scale.
 
virtual float GetParticleColorScale ()
 Get/Set the scale value for particle color if input data has particle color Default value is 1.0, and can be set to any non-negative number The particle color is then recomputed as newColor = pow(oldColor, power) * scale.
 
virtual void SetAttenuationScale (float)
 Get/Set the fluid volume attenuation scale, which will be multiplied with attennuation color Default value is 1.0, and can be set to any non-negative number The larger attennuation scale, the darker fluid color.
 
virtual float GetAttenuationScale ()
 Get/Set the fluid volume attenuation scale, which will be multiplied with attennuation color Default value is 1.0, and can be set to any non-negative number The larger attennuation scale, the darker fluid color.
 
virtual void SetAdditionalReflection (float)
 Get/Set the fluid surface additional reflection scale This value is in [0, 1], which 0 means using the reflection color computed from fresnel equation, and 1 means using reflection color as [1, 1, 1] Default value is 0.
 
virtual float GetAdditionalReflection ()
 Get/Set the fluid surface additional reflection scale This value is in [0, 1], which 0 means using the reflection color computed from fresnel equation, and 1 means using reflection color as [1, 1, 1] Default value is 0.
 
virtual void SetRefractionScale (float)
 Get/Set the scale value for refraction This is needed for tweak refraction of volumes with different size scales For example, fluid volume having diameter of 100.0 will refract light much more than volume with diameter 1.0 This value is in [0, 1], default value is 1.0.
 
virtual float GetRefractionScale ()
 Get/Set the scale value for refraction This is needed for tweak refraction of volumes with different size scales For example, fluid volume having diameter of 100.0 will refract light much more than volume with diameter 1.0 This value is in [0, 1], default value is 1.0.
 
virtual void SetRefractiveIndex (float)
 Get/Set the fluid refraction index.
 
virtual float GetRefractiveIndex ()
 Get/Set the fluid refraction index.
 
- Public Member Functions inherited from vtkAbstractVolumeMapper
virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class.
 
vtkAbstractVolumeMapperNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
 
virtual char * GetArrayName ()
 Get the array name or number and component to use for rendering.
 
virtual int GetArrayId ()
 
virtual int GetArrayAccessMode ()
 
const char * GetScalarModeAsString ()
 Return the method for obtaining scalar data.
 
virtual void Render (vtkRenderer *ren, vtkVolume *vol)=0
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS Render the volume.
 
void ReleaseGraphicsResources (vtkWindow *) override
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Release any graphics resources that are being consumed by this mapper.
 
virtual vtkDataSetGetDataSetInput ()
 Set/Get the input data.
 
virtual vtkDataObjectGetDataObjectInput ()
 Set/Get the input data.
 
double * GetBounds () override
 Return bounding box (array of six doubles) of data expressed as (xmin,xmax, ymin,ymax, zmin,zmax).
 
void GetBounds (double bounds[6]) override
 Return bounding box (array of six doubles) of data expressed as (xmin,xmax, ymin,ymax, zmin,zmax).
 
virtual void SetScalarMode (int)
 Control how the mapper works with scalar point data and cell attribute data.
 
virtual int GetScalarMode ()
 Control how the mapper works with scalar point data and cell attribute data.
 
virtual void SetArrayAccessMode (int)
 Control how the mapper works with scalar point data and cell attribute data.
 
void SetScalarModeToDefault ()
 Control how the mapper works with scalar point data and cell attribute data.
 
void SetScalarModeToUsePointData ()
 Control how the mapper works with scalar point data and cell attribute data.
 
void SetScalarModeToUseCellData ()
 Control how the mapper works with scalar point data and cell attribute data.
 
void SetScalarModeToUsePointFieldData ()
 Control how the mapper works with scalar point data and cell attribute data.
 
void SetScalarModeToUseCellFieldData ()
 Control how the mapper works with scalar point data and cell attribute data.
 
virtual void SelectScalarArray (int arrayNum)
 When ScalarMode is set to UsePointFieldData or UseCellFieldData, you can specify which scalar array to use during rendering.
 
virtual void SelectScalarArray (const char *arrayName)
 When ScalarMode is set to UsePointFieldData or UseCellFieldData, you can specify which scalar array to use during rendering.
 
virtual float GetGradientMagnitudeScale ()
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE.
 
virtual float GetGradientMagnitudeBias ()
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE.
 
virtual float GetGradientMagnitudeScale (int)
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE.
 
virtual float GetGradientMagnitudeBias (int)
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE.
 
- Public Member Functions inherited from vtkAbstractMapper3D
virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class.
 
vtkAbstractMapper3DNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
 
virtual double * GetBounds ()=0
 Return bounding box (array of six doubles) of data expressed as (xmin,xmax, ymin,ymax, zmin,zmax).
 
virtual void GetBounds (double bounds[6])
 Get the bounds for this mapper as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).
 
double GetLength ()
 Return the diagonal length of this mappers bounding box.
 
virtual vtkTypeBool IsARayCastMapper ()
 Is this a ray cast mapper? A subclass would return 1 if the ray caster is needed to generate an image from this mapper.
 
virtual vtkTypeBool IsARenderIntoImageMapper ()
 Is this a "render into image" mapper? A subclass would return 1 if the mapper produces an image by rendering into a software image buffer.
 
void GetClippingPlaneInDataCoords (vtkMatrix4x4 *propMatrix, int i, double planeEquation[4])
 Get the ith clipping plane as a homogeneous plane equation.
 
double * GetCenter ()
 Return the Center of this mapper's data.
 
void GetCenter (double center[3])
 Return the Center of this mapper's data.
 
- Public Member Functions inherited from vtkAbstractMapper
virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class.
 
vtkAbstractMapperNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
 
vtkMTimeType GetMTime () override
 Override Modifiedtime as we have added Clipping planes.
 
virtual void ReleaseGraphicsResources (vtkWindow *)
 Release any graphics resources that are being consumed by this mapper.
 
void SetClippingPlanes (vtkPlanes *planes)
 An alternative way to set clipping planes: use up to six planes found in the supplied instance of the implicit function vtkPlanes.
 
virtual void ShallowCopy (vtkAbstractMapper *m)
 Make a shallow copy of this mapper.
 
int GetNumberOfClippingPlanes ()
 Get the number of clipping planes.
 
virtual double GetTimeToDraw ()
 Get the time required to draw the geometry last time it was rendered.
 
void AddClippingPlane (vtkPlane *plane)
 Specify clipping planes to be applied when the data is mapped (at most 6 clipping planes can be specified).
 
void RemoveClippingPlane (vtkPlane *plane)
 Specify clipping planes to be applied when the data is mapped (at most 6 clipping planes can be specified).
 
void RemoveAllClippingPlanes ()
 Specify clipping planes to be applied when the data is mapped (at most 6 clipping planes can be specified).
 
virtual void SetClippingPlanes (vtkPlaneCollection *)
 Get/Set the vtkPlaneCollection which specifies the clipping planes.
 
virtual vtkPlaneCollectionGetClippingPlanes ()
 Get/Set the vtkPlaneCollection which specifies the clipping planes.
 
- Public Member Functions inherited from vtkAlgorithm
virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class.
 
vtkAlgorithmNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
 
int HasExecutive ()
 Check whether this algorithm has an assigned executive.
 
vtkExecutiveGetExecutive ()
 Get this algorithm's executive.
 
virtual void SetExecutive (vtkExecutive *executive)
 Set this algorithm's executive.
 
virtual vtkTypeBool ProcessRequest (vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo)
 Upstream/Downstream requests form the generalized interface through which executives invoke a algorithm's functionality.
 
vtkTypeBool ProcessRequest (vtkInformation *request, vtkCollection *inInfo, vtkInformationVector *outInfo)
 Version of ProcessRequest() that is wrapped.
 
virtual int ComputePipelineMTime (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int requestFromOutputPort, vtkMTimeType *mtime)
 A special version of ProcessRequest meant specifically for the pipeline modified time request.
 
virtual int ModifyRequest (vtkInformation *request, int when)
 This method gives the algorithm a chance to modify the contents of a request before or after (specified in the when argument) it is forwarded.
 
vtkInformationGetInputPortInformation (int port)
 Get the information object associated with an input port.
 
vtkInformationGetOutputPortInformation (int port)
 Get the information object associated with an output port.
 
int GetNumberOfInputPorts ()
 Get the number of input ports used by the algorithm.
 
int GetNumberOfOutputPorts ()
 Get the number of output ports provided by the algorithm.
 
void SetProgress (double)
 SetProgress is deprecated.
 
void UpdateProgress (double amount)
 Update the progress of the process object.
 
virtual void SetInputArrayToProcess (int idx, int port, int connection, const char *fieldAssociation, const char *attributeTypeorName)
 String based versions of SetInputArrayToProcess().
 
vtkInformationGetInputArrayInformation (int idx)
 Get the info object for the specified input array to this algorithm.
 
void RemoveAllInputs ()
 Remove all the input data.
 
vtkDataObjectGetOutputDataObject (int port)
 Get the data object that will contain the algorithm output for the given port.
 
vtkDataObjectGetInputDataObject (int port, int connection)
 Get the data object that will contain the algorithm input for the given port and given connection.
 
virtual void RemoveInputConnection (int port, vtkAlgorithmOutput *input)
 Remove a connection from the given input port index.
 
virtual void RemoveInputConnection (int port, int idx)
 Remove a connection given by index idx.
 
virtual void RemoveAllInputConnections (int port)
 Removes all input connections.
 
virtual void SetInputDataObject (int port, vtkDataObject *data)
 Sets the data-object as an input on the given port index.
 
virtual void SetInputDataObject (vtkDataObject *data)
 
virtual void AddInputDataObject (int port, vtkDataObject *data)
 Add the data-object as an input to this given port.
 
virtual void AddInputDataObject (vtkDataObject *data)
 
vtkAlgorithmOutputGetOutputPort (int index)
 Get a proxy object corresponding to the given output port of this algorithm.
 
vtkAlgorithmOutputGetOutputPort ()
 
int GetNumberOfInputConnections (int port)
 Get the number of inputs currently connected to a port.
 
int GetTotalNumberOfInputConnections ()
 Get the total number of inputs for this algorithm.
 
vtkAlgorithmOutputGetInputConnection (int port, int index)
 Get the algorithm output port connected to an input port.
 
vtkAlgorithmGetInputAlgorithm (int port, int index, int &algPort)
 Returns the algorithm and the output port index of that algorithm connected to a port-index pair.
 
vtkAlgorithmGetInputAlgorithm (int port, int index)
 Returns the algorithm connected to a port-index pair.
 
vtkAlgorithmGetInputAlgorithm ()
 Equivalent to GetInputAlgorithm(0, 0).
 
vtkExecutiveGetInputExecutive (int port, int index)
 Returns the executive associated with a particular input connection.
 
vtkExecutiveGetInputExecutive ()
 Equivalent to GetInputExecutive(0, 0)
 
vtkInformationGetInputInformation (int port, int index)
 Return the information object that is associated with a particular input connection.
 
vtkInformationGetInputInformation ()
 Equivalent to GetInputInformation(0, 0)
 
vtkInformationGetOutputInformation (int port)
 Return the information object that is associated with a particular output port.
 
virtual vtkTypeBool Update (int port, vtkInformationVector *requests)
 This method enables the passing of data requests to the algorithm to be used during execution (in addition to bringing a particular port up-to-date).
 
virtual vtkTypeBool Update (vtkInformation *requests)
 Convenience method to update an algorithm after passing requests to its first output port.
 
virtual int UpdatePiece (int piece, int numPieces, int ghostLevels, const int extents[6]=nullptr)
 Convenience method to update an algorithm after passing requests to its first output port.
 
virtual int UpdateExtent (const int extents[6])
 Convenience method to update an algorithm after passing requests to its first output port.
 
virtual int UpdateTimeStep (double time, int piece=-1, int numPieces=1, int ghostLevels=0, const int extents[6]=nullptr)
 Convenience method to update an algorithm after passing requests to its first output port.
 
virtual void UpdateInformation ()
 Bring the algorithm's information up-to-date.
 
virtual void UpdateDataObject ()
 Create output object(s).
 
virtual void PropagateUpdateExtent ()
 Propagate meta-data upstream.
 
virtual void UpdateWholeExtent ()
 Bring this algorithm's outputs up-to-date.
 
void ConvertTotalInputToPortConnection (int ind, int &port, int &conn)
 Convenience routine to convert from a linear ordering of input connections to a port/connection pair.
 
virtual vtkInformationGetInformation ()
 Set/Get the information object associated with this algorithm.
 
virtual void SetInformation (vtkInformation *)
 Set/Get the information object associated with this algorithm.
 
void Register (vtkObjectBase *o) override
 Participate in garbage collection.
 
void UnRegister (vtkObjectBase *o) override
 Participate in garbage collection.
 
virtual void SetAbortExecute (vtkTypeBool)
 Set/Get the AbortExecute flag for the process object.
 
virtual vtkTypeBool GetAbortExecute ()
 Set/Get the AbortExecute flag for the process object.
 
virtual void AbortExecuteOn ()
 Set/Get the AbortExecute flag for the process object.
 
virtual void AbortExecuteOff ()
 Set/Get the AbortExecute flag for the process object.
 
virtual double GetProgress ()
 Get the execution progress of a process object.
 
void SetProgressShiftScale (double shift, double scale)
 Specify the shift and scale values to use to apply to the progress amount when UpdateProgress is called.
 
virtual double GetProgressShift ()
 Specify the shift and scale values to use to apply to the progress amount when UpdateProgress is called.
 
virtual double GetProgressScale ()
 Specify the shift and scale values to use to apply to the progress amount when UpdateProgress is called.
 
void SetProgressText (const char *ptext)
 Set the current text message associated with the progress state.
 
virtual char * GetProgressText ()
 Set the current text message associated with the progress state.
 
virtual unsigned long GetErrorCode ()
 The error code contains a possible error that occurred while reading or writing the file.
 
virtual void SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, const char *name)
 Set the input data arrays that this algorithm will process.
 
virtual void SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, int fieldAttributeType)
 Set the input data arrays that this algorithm will process.
 
virtual void SetInputArrayToProcess (int idx, vtkInformation *info)
 Set the input data arrays that this algorithm will process.
 
virtual void SetInputConnection (int port, vtkAlgorithmOutput *input)
 Set the connection for the given input port index.
 
virtual void SetInputConnection (vtkAlgorithmOutput *input)
 Set the connection for the given input port index.
 
virtual void AddInputConnection (int port, vtkAlgorithmOutput *input)
 Add a connection to the given input port index.
 
virtual void AddInputConnection (vtkAlgorithmOutput *input)
 Add a connection to the given input port index.
 
virtual void Update (int port)
 Bring this algorithm's outputs up-to-date.
 
virtual void Update ()
 Bring this algorithm's outputs up-to-date.
 
virtual void SetReleaseDataFlag (int)
 Turn release data flag on or off for all output ports.
 
virtual int GetReleaseDataFlag ()
 Turn release data flag on or off for all output ports.
 
void ReleaseDataFlagOn ()
 Turn release data flag on or off for all output ports.
 
void ReleaseDataFlagOff ()
 Turn release data flag on or off for all output ports.
 
int UpdateExtentIsEmpty (vtkInformation *pinfo, vtkDataObject *output)
 This detects when the UpdateExtent will generate no data This condition is satisfied when the UpdateExtent has zero volume (0,-1,...) or the UpdateNumberOfPieces is 0.
 
int UpdateExtentIsEmpty (vtkInformation *pinfo, int extentType)
 This detects when the UpdateExtent will generate no data This condition is satisfied when the UpdateExtent has zero volume (0,-1,...) or the UpdateNumberOfPieces is 0.
 
int * GetUpdateExtent ()
 These functions return the update extent for output ports that use 3D extents.
 
int * GetUpdateExtent (int port)
 These functions return the update extent for output ports that use 3D extents.
 
void GetUpdateExtent (int &x0, int &x1, int &y0, int &y1, int &z0, int &z1)
 These functions return the update extent for output ports that use 3D extents.
 
void GetUpdateExtent (int port, int &x0, int &x1, int &y0, int &y1, int &z0, int &z1)
 These functions return the update extent for output ports that use 3D extents.
 
void GetUpdateExtent (int extent[6])
 These functions return the update extent for output ports that use 3D extents.
 
void GetUpdateExtent (int port, int extent[6])
 These functions return the update extent for output ports that use 3D extents.
 
int GetUpdatePiece ()
 These functions return the update extent for output ports that use piece extents.
 
int GetUpdatePiece (int port)
 These functions return the update extent for output ports that use piece extents.
 
int GetUpdateNumberOfPieces ()
 These functions return the update extent for output ports that use piece extents.
 
int GetUpdateNumberOfPieces (int port)
 These functions return the update extent for output ports that use piece extents.
 
int GetUpdateGhostLevel ()
 These functions return the update extent for output ports that use piece extents.
 
int GetUpdateGhostLevel (int port)
 These functions return the update extent for output ports that use piece extents.
 
void SetProgressObserver (vtkProgressObserver *)
 If an ProgressObserver is set, the algorithm will report progress through it rather than directly.
 
virtual vtkProgressObserverGetProgressObserver ()
 If an ProgressObserver is set, the algorithm will report progress through it rather than directly.
 
- Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 Turn debugging output on.
 
virtual void DebugOff ()
 Turn debugging output off.
 
bool GetDebug ()
 Get the value of the debug flag.
 
void SetDebug (bool debugFlag)
 Set the value of the debug flag.
 
virtual void Modified ()
 Update the modification time for this object.
 
virtual vtkMTimeType GetMTime ()
 Return this object's modified time.
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
vtkTypeBool HasObserver (unsigned long event)
 
vtkTypeBool 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.
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
vtkCommandGetCommand (unsigned long tag)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
void RemoveObserver (vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
void RemoveObservers (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
void RemoveObservers (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
vtkTypeBool HasObserver (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
vtkTypeBool HasObserver (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
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.
 
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.
 
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.
 
int InvokeEvent (unsigned long event, void *callData)
 This method invokes an event and return whether the event was aborted or not.
 
int InvokeEvent (const char *event, void *callData)
 This method invokes an event and return whether the event was aborted or not.
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 Return the class name as a string.
 
virtual vtkTypeBool IsA (const char *name)
 Return 1 if this class is the same type of (or a subclass of) the named class.
 
virtual vtkIdType GetNumberOfGenerationsFromBase (const char *name)
 Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class).
 
virtual void Delete ()
 Delete a VTK object.
 
virtual void FastDelete ()
 Delete a reference to this object.
 
void InitializeObjectBase ()
 
void Print (ostream &os)
 Print an object to an ostream.
 
virtual void Register (vtkObjectBase *o)
 Increase the reference count (mark as used by another object).
 
virtual void UnRegister (vtkObjectBase *o)
 Decrease the reference count (release by another object).
 
int GetReferenceCount ()
 Return the current reference count of this object.
 
void SetReferenceCount (int)
 Sets the reference count.
 
bool GetIsInMemkind () const
 A local state flag that remembers whether this object lives in the normal or extended memory space.
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses.
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses.
 

Static Public Member Functions

static vtkOpenGLFluidMapperNew ()
 
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkOpenGLFluidMapperSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkAbstractVolumeMapper
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkAbstractVolumeMapperSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkAbstractMapper3D
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkAbstractMapper3DSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkAbstractMapper
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkAbstractMapperSafeDownCast (vtkObjectBase *o)
 
static vtkDataArrayGetScalars (vtkDataSet *input, int scalarMode, int arrayAccessMode, int arrayId, const char *arrayName, int &cellFlag)
 Internal helper function for getting the active scalars.
 
static vtkAbstractArrayGetAbstractScalars (vtkDataSet *input, int scalarMode, int arrayAccessMode, int arrayId, const char *arrayName, int &cellFlag)
 Internal helper function for getting the active scalars as an abstract array.
 
- Static Public Member Functions inherited from vtkAlgorithm
static vtkAlgorithmNew ()
 
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkAlgorithmSafeDownCast (vtkObjectBase *o)
 
static vtkInformationIntegerKeyINPUT_IS_OPTIONAL ()
 Keys used to specify input port requirements.
 
static vtkInformationIntegerKeyINPUT_IS_REPEATABLE ()
 
static vtkInformationInformationVectorKeyINPUT_REQUIRED_FIELDS ()
 
static vtkInformationStringVectorKeyINPUT_REQUIRED_DATA_TYPE ()
 
static vtkInformationInformationVectorKeyINPUT_ARRAYS_TO_PROCESS ()
 
static vtkInformationIntegerKeyINPUT_PORT ()
 
static vtkInformationIntegerKeyINPUT_CONNECTION ()
 
static vtkInformationIntegerKeyCAN_PRODUCE_SUB_EXTENT ()
 This key tells the executive that a particular output port is capable of producing an arbitrary subextent of the whole extent.
 
static vtkInformationIntegerKeyCAN_HANDLE_PIECE_REQUEST ()
 Key that tells the pipeline that a particular algorithm can or cannot handle piece request.
 
static void SetDefaultExecutivePrototype (vtkExecutive *proto)
 If the DefaultExecutivePrototype is set, a copy of it is created in CreateDefaultExecutive() using NewInstance().
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
 
static void BreakOnError ()
 This method is called when vtkErrorMacro executes.
 
static void SetGlobalWarningDisplay (int val)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
 
static void GlobalWarningDisplayOn ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
 
static void GlobalWarningDisplayOff ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
 
static int GetGlobalWarningDisplay ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
 
- Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool IsTypeOf (const char *name)
 Return 1 if this class type is the same type of (or a subclass of) the named class.
 
static vtkIdType GetNumberOfGenerationsFromBaseType (const char *name)
 Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class).
 
static vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
 
static void SetMemkindDirectory (const char *directoryname)
 The name of a directory, ideally mounted -o dax, to memory map an extended memory space within.
 
static bool GetUsingMemkind ()
 A global state flag that controls whether vtkObjects are constructed in the usual way (the default) or within the extended memory space.
 

Protected Types

enum  TextureBuffers {
  OpaqueZ = 0 , OpaqueRGBA , FluidZ , FluidEyeZ ,
  SmoothedFluidEyeZ , FluidThickness , SmoothedFluidThickness , FluidNormal ,
  NumTexBuffers
}
 
enum  OptionalTextureBuffers { Color = 0 , SmoothedColor , NumOptionalTexBuffers }
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkOpenGLFluidMapper ()
 
 ~vtkOpenGLFluidMapper () override
 
void UpdateDepthThicknessColorShaders (vtkOpenGLHelper &glHelper, vtkRenderer *renderer, vtkVolume *vol)
 Perform string replacements on the shader templates.
 
void SetDepthThicknessColorShaderParameters (vtkOpenGLHelper &glHelper, vtkRenderer *renderer, vtkVolume *vol)
 Set the shader parameters related to the actor/mapper/camera.
 
void SetupBuffers (vtkOpenGLRenderWindow *const renderWindow)
 Setup the texture buffers.
 
void RenderParticles (vtkRenderer *renderer, vtkVolume *vol)
 Render the fluid particles.
 
- Protected Member Functions inherited from vtkAbstractVolumeMapper
virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkAbstractVolumeMapper ()
 
 ~vtkAbstractVolumeMapper () override
 
int FillInputPortInformation (int port, vtkInformation *info) override
 Fill the input port information objects for this algorithm.
 
- Protected Member Functions inherited from vtkAbstractMapper3D
virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkAbstractMapper3D ()
 
 ~vtkAbstractMapper3D () override=default
 
- Protected Member Functions inherited from vtkAbstractMapper
virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkAbstractMapper ()
 
 ~vtkAbstractMapper () override
 
- Protected Member Functions inherited from vtkAlgorithm
virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkAlgorithm ()
 
 ~vtkAlgorithm () override
 
virtual int FillInputPortInformation (int port, vtkInformation *info)
 Fill the input port information objects for this algorithm.
 
virtual int FillOutputPortInformation (int port, vtkInformation *info)
 Fill the output port information objects for this algorithm.
 
virtual void SetNumberOfInputPorts (int n)
 Set the number of input ports used by the algorithm.
 
virtual void SetNumberOfOutputPorts (int n)
 Set the number of output ports provided by the algorithm.
 
int InputPortIndexInRange (int index, const char *action)
 
int OutputPortIndexInRange (int index, const char *action)
 
int GetInputArrayAssociation (int idx, vtkInformationVector **inputVector)
 Get the assocition of the actual data array for the input array specified by idx, this is only reasonable during the REQUEST_DATA pass.
 
vtkInformationGetInputArrayFieldInformation (int idx, vtkInformationVector **inputVector)
 This method takes in an index (as specified in SetInputArrayToProcess) and a pipeline information vector.
 
virtual vtkExecutiveCreateDefaultExecutive ()
 Create a default executive.
 
void ReportReferences (vtkGarbageCollector *) override
 
virtual void SetNthInputConnection (int port, int index, vtkAlgorithmOutput *input)
 Replace the Nth connection on the given input port.
 
virtual void SetNumberOfInputConnections (int port, int n)
 Set the number of input connections on the given input port.
 
void SetInputDataInternal (int port, vtkDataObject *input)
 These methods are used by subclasses to implement methods to set data objects directly as input.
 
void AddInputDataInternal (int port, vtkDataObject *input)
 
int GetInputArrayAssociation (int idx, int connection, vtkInformationVector **inputVector)
 Filters that have multiple connections on one port can use this signature.
 
int GetInputArrayAssociation (int idx, vtkDataObject *input)
 Filters that have multiple connections on one port can use this signature.
 
vtkDataArrayGetInputArrayToProcess (int idx, vtkInformationVector **inputVector)
 Get the actual data array for the input array specified by idx, this is only reasonable during the REQUEST_DATA pass.
 
vtkDataArrayGetInputArrayToProcess (int idx, vtkInformationVector **inputVector, int &association)
 Get the actual data array for the input array specified by idx, this is only reasonable during the REQUEST_DATA pass.
 
vtkDataArrayGetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector)
 Filters that have multiple connections on one port can use this signature.
 
vtkDataArrayGetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association)
 Filters that have multiple connections on one port can use this signature.
 
vtkDataArrayGetInputArrayToProcess (int idx, vtkDataObject *input)
 Filters that have multiple connections on one port can use this signature.
 
vtkDataArrayGetInputArrayToProcess (int idx, vtkDataObject *input, int &association)
 Filters that have multiple connections on one port can use this signature.
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector)
 Get the actual data array for the input array specified by idx, this is only reasonable during the REQUEST_DATA pass.
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector, int &association)
 Get the actual data array for the input array specified by idx, this is only reasonable during the REQUEST_DATA pass.
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector)
 Filters that have multiple connections on one port can use this signature.
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association)
 Filters that have multiple connections on one port can use this signature.
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkDataObject *input)
 Filters that have multiple connections on one port can use this signature.
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkDataObject *input, int &association)
 Filters that have multiple connections on one port can use this signature.
 
virtual void SetErrorCode (unsigned long)
 The error code contains a possible error that occurred while reading or writing the file.
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
 ~vtkObject () override
 
void RegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr)
 These methods allow a command to exclusively grab all events.
 
void InternalReleaseFocus ()
 These methods allow a command to exclusively grab all events.
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void RegisterInternal (vtkObjectBase *, vtkTypeBool check)
 
virtual void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

float ParticleRadius = 1.0f
 
FluidSurfaceFilterMethod SurfaceFilterMethod = FluidSurfaceFilterMethod::NarrowRange
 
uint32_t SurfaceFilterIterations = 3u
 
uint32_t SurfaceFilterRadius = 5u
 
float NRFilterLambda = 10.0f
 
float NRFilterMu = 1.0f
 
float BiGaussFilterSigmaDepth = 10.0f
 
uint32_t ThicknessAndVolumeColorFilterIterations = 3u
 
uint32_t ThicknessAndVolumeColorFilterRadius = 10u
 
FluidDisplayMode DisplayMode = FluidDisplayMode::TransparentFluidVolume
 
float OpaqueColor [3] { 0.0f, 0.0f, 0.95f }
 
float AttenuationColor [3] { 0.5f, 0.2f, 0.05f }
 
float ParticleColorPower = 0.1f
 
float ParticleColorScale = 1.0f
 
float AttenuationScale = 1.0f
 
float AdditionalReflection = 0.0f
 
float RefractionScale = 1.0f
 
float RefractiveIndex = 1.33f
 
bool ScalarVisibility = false
 
bool InDepthPass = true
 
bool HasVertexColor = false
 
int ViewportX
 
int ViewportY
 
int ViewportWidth
 
int ViewportHeight
 
vtkMatrix4x4CamWCVC
 
vtkMatrix3x3CamInvertedNorms
 
vtkMatrix4x4CamVCDC
 
vtkMatrix4x4CamWCDC
 
vtkMatrix4x4CamDCVC
 
vtkTypeBool CamParallelProjection
 
vtkSmartPointer< vtkOpenGLFramebufferObjectFBFluidEyeZ
 
vtkSmartPointer< vtkOpenGLFramebufferObjectFBThickness
 
vtkSmartPointer< vtkOpenGLFramebufferObjectFBFilterThickness
 
vtkSmartPointer< vtkOpenGLFramebufferObjectFBCompNormal
 
vtkSmartPointer< vtkOpenGLFramebufferObjectFBFilterDepth
 
vtkOpenGLQuadHelperQuadFluidDepthFilter [NumFilterMethods] { nullptr, nullptr }
 
vtkOpenGLQuadHelperQuadThicknessFilter = nullptr
 
vtkOpenGLQuadHelperQuadFluidNormal = nullptr
 
vtkOpenGLQuadHelperQuadFinalBlend = nullptr
 
vtkSmartPointer< vtkOpenGLVertexBufferObjectGroupVBOs
 
vtkTimeStamp VBOBuildTime
 
vtkOpenGLHelper GLHelperDepthThickness
 
vtkTextureObjectTexBuffer [NumTexBuffers]
 
vtkTextureObjectOptionalTexBuffer [NumOptionalTexBuffers]
 
vtkMatrix4x4TempMatrix4
 
- Protected Attributes inherited from vtkAbstractVolumeMapper
int ScalarMode
 
char * ArrayName
 
int ArrayId
 
int ArrayAccessMode
 
- Protected Attributes inherited from vtkAbstractMapper3D
double Bounds [6]
 
double Center [3]
 
- Protected Attributes inherited from vtkAbstractMapper
vtkTimerLogTimer
 
double TimeToDraw
 
vtkWindowLastWindow
 
vtkPlaneCollectionClippingPlanes
 
- Protected Attributes inherited from vtkAlgorithm
vtkInformationInformation
 
double Progress
 
char * ProgressText
 
vtkProgressObserverProgressObserver
 
unsigned long ErrorCode
 The error code contains a possible error that occurred while reading or writing the file.
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
std::atomic< int32_t > ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Additional Inherited Members

- Public Attributes inherited from vtkAlgorithm
vtkTypeBool AbortExecute
 
- Static Protected Member Functions inherited from vtkAlgorithm
static vtkInformationIntegerKeyPORT_REQUIREMENTS_FILLED ()
 
- Static Protected Member Functions inherited from vtkObjectBase
static vtkMallocingFunction GetCurrentMallocFunction ()
 
static vtkReallocingFunction GetCurrentReallocFunction ()
 
static vtkFreeingFunction GetCurrentFreeFunction ()
 
static vtkFreeingFunction GetAlternateFreeFunction ()
 
- Static Protected Attributes inherited from vtkAlgorithm
static vtkExecutiveDefaultExecutivePrototype
 

Detailed Description

Render fluid from position data (and color, if available)

An OpenGL mapper that display fluid volume using a screen space fluid rendering technique. Thanks to Nghia Truong for the algorihtm and initial implementation.

Events:
vtkCommand::UpdateShaderEvent
Tests:
vtkOpenGLFluidMapper (Tests)

Definition at line 51 of file vtkOpenGLFluidMapper.h.

Member Typedef Documentation

◆ Superclass

Definition at line 55 of file vtkOpenGLFluidMapper.h.

Member Enumeration Documentation

◆ FluidSurfaceFilterMethod

Filter method to filter the depth buffer.

Enumerator
BilateralGaussian 
NarrowRange 
NumFilterMethods 

Definition at line 131 of file vtkOpenGLFluidMapper.h.

◆ FluidDisplayMode

Display mode for the fluid, default value is TransparentFluidVolume.

Enumerator
UnfilteredOpaqueSurface 
FilteredOpaqueSurface 
UnfilteredSurfaceNormal 
FilteredSurfaceNormal 
TransparentFluidVolume 
NumDisplayModes 

Definition at line 170 of file vtkOpenGLFluidMapper.h.

◆ TextureBuffers

Enumerator
OpaqueZ 
OpaqueRGBA 
FluidZ 
FluidEyeZ 
SmoothedFluidEyeZ 
FluidThickness 
SmoothedFluidThickness 
FluidNormal 
NumTexBuffers 

Definition at line 374 of file vtkOpenGLFluidMapper.h.

◆ OptionalTextureBuffers

Enumerator
Color 
SmoothedColor 
NumOptionalTexBuffers 

Definition at line 388 of file vtkOpenGLFluidMapper.h.

Constructor & Destructor Documentation

◆ vtkOpenGLFluidMapper()

vtkOpenGLFluidMapper::vtkOpenGLFluidMapper ( )
protected

◆ ~vtkOpenGLFluidMapper()

vtkOpenGLFluidMapper::~vtkOpenGLFluidMapper ( )
overrideprotected

Member Function Documentation

◆ New()

static vtkOpenGLFluidMapper * vtkOpenGLFluidMapper::New ( )
static

◆ IsTypeOf()

static vtkTypeBool vtkOpenGLFluidMapper::IsTypeOf ( const char *  type)
static

◆ IsA()

virtual vtkTypeBool vtkOpenGLFluidMapper::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 vtkAbstractVolumeMapper.

◆ SafeDownCast()

static vtkOpenGLFluidMapper * vtkOpenGLFluidMapper::SafeDownCast ( vtkObjectBase o)
static

◆ NewInstanceInternal()

virtual vtkObjectBase * vtkOpenGLFluidMapper::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtkAbstractVolumeMapper.

◆ NewInstance()

vtkOpenGLFluidMapper * vtkOpenGLFluidMapper::NewInstance ( ) const

◆ PrintSelf()

void vtkOpenGLFluidMapper::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
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 vtkAbstractVolumeMapper.

◆ SetInputData()

void vtkOpenGLFluidMapper::SetInputData ( vtkPolyData in)

Specify the input data to map.

◆ GetInput()

vtkPolyData * vtkOpenGLFluidMapper::GetInput ( )

Specify the input data to map.

◆ SetScalarVisibility()

virtual void vtkOpenGLFluidMapper::SetScalarVisibility ( bool  )
virtual

Turn on/off flag to control whether scalar data is used to color objects.

◆ GetScalarVisibility()

virtual bool vtkOpenGLFluidMapper::GetScalarVisibility ( )
virtual

Turn on/off flag to control whether scalar data is used to color objects.

◆ ScalarVisibilityOn()

virtual void vtkOpenGLFluidMapper::ScalarVisibilityOn ( )
virtual

Turn on/off flag to control whether scalar data is used to color objects.

◆ ScalarVisibilityOff()

virtual void vtkOpenGLFluidMapper::ScalarVisibilityOff ( )
virtual

Turn on/off flag to control whether scalar data is used to color objects.

◆ SetParticleRadius()

virtual void vtkOpenGLFluidMapper::SetParticleRadius ( float  )
virtual

Set/Get the particle radius, must be explicitly set by user To fuse the gaps between particles and obtain a smooth surface, this parameter need to be slightly larger than the actual particle radius, (particle radius is the half distance between two consecutive particles in regular pattern sampling)

◆ GetParticleRadius()

virtual float vtkOpenGLFluidMapper::GetParticleRadius ( )
virtual

Set/Get the particle radius, must be explicitly set by user To fuse the gaps between particles and obtain a smooth surface, this parameter need to be slightly larger than the actual particle radius, (particle radius is the half distance between two consecutive particles in regular pattern sampling)

◆ SetSurfaceFilterIterations()

virtual void vtkOpenGLFluidMapper::SetSurfaceFilterIterations ( uint32_t  )
virtual

Get/Set the number of filter iterations to filter the depth surface This is an optional parameter, default value is 3 Usually set this to around 3-5 Too many filter iterations will over-smooth the surface.

◆ GetSurfaceFilterIterations()

virtual uint32_t vtkOpenGLFluidMapper::GetSurfaceFilterIterations ( )
virtual

Get/Set the number of filter iterations to filter the depth surface This is an optional parameter, default value is 3 Usually set this to around 3-5 Too many filter iterations will over-smooth the surface.

◆ SetThicknessAndVolumeColorFilterIterations()

virtual void vtkOpenGLFluidMapper::SetThicknessAndVolumeColorFilterIterations ( uint32_t  )
virtual

Get/Set the number of filter iterations to filter the volume thickness and particle color This is an optional parameter, default value is 3.

◆ GetThicknessAndVolumeColorFilterIterations()

virtual uint32_t vtkOpenGLFluidMapper::GetThicknessAndVolumeColorFilterIterations ( )
virtual

Get/Set the number of filter iterations to filter the volume thickness and particle color This is an optional parameter, default value is 3.

◆ SetSurfaceFilterRadius()

virtual void vtkOpenGLFluidMapper::SetSurfaceFilterRadius ( uint32_t  )
virtual

Get/Set the filter radius for smoothing the depth surface This is an optional parameter, default value is 5 This is not exactly the radius in pixels, instead it is just a parameter used for computing the actual filter radius in the screen space filtering.

◆ GetSurfaceFilterRadius()

virtual uint32_t vtkOpenGLFluidMapper::GetSurfaceFilterRadius ( )
virtual

Get/Set the filter radius for smoothing the depth surface This is an optional parameter, default value is 5 This is not exactly the radius in pixels, instead it is just a parameter used for computing the actual filter radius in the screen space filtering.

◆ SetThicknessAndVolumeColorFilterRadius()

virtual void vtkOpenGLFluidMapper::SetThicknessAndVolumeColorFilterRadius ( float  )
virtual

Get/Set the filter radius to filter the volume thickness and particle color This is an optional parameter, default value is 10 (pixels)

◆ GetThicknessAndVolumeColorFilterRadius()

virtual float vtkOpenGLFluidMapper::GetThicknessAndVolumeColorFilterRadius ( )
virtual

Get/Set the filter radius to filter the volume thickness and particle color This is an optional parameter, default value is 10 (pixels)

◆ SetSurfaceFilterMethod()

virtual void vtkOpenGLFluidMapper::SetSurfaceFilterMethod ( vtkOpenGLFluidMapper::FluidSurfaceFilterMethod  )
virtual

Get/Set the filter method for filtering fluid surface.

◆ GetSurfaceFilterMethod()

virtual vtkOpenGLFluidMapper::FluidSurfaceFilterMethod vtkOpenGLFluidMapper::GetSurfaceFilterMethod ( )
virtual

Get/Set the filter method for filtering fluid surface.

◆ SetNarrowRangeFilterParameters()

void vtkOpenGLFluidMapper::SetNarrowRangeFilterParameters ( float  lambda,
float  mu 
)
inline

Optional parameters, exclusively for narrow range filter The first parameter is to control smoothing between surface depth values The second parameter is to control curvature of the surface edges.

Definition at line 152 of file vtkOpenGLFluidMapper.h.

◆ SetBilateralGaussianFilterParameter()

void vtkOpenGLFluidMapper::SetBilateralGaussianFilterParameter ( float  sigmaDepth)
inline

Optional parameters, exclusively for bilateral gaussian filter The parameter is for controlling smoothing between surface depth values.

Definition at line 162 of file vtkOpenGLFluidMapper.h.

◆ SetDisplayMode()

virtual void vtkOpenGLFluidMapper::SetDisplayMode ( vtkOpenGLFluidMapper::FluidDisplayMode  )
virtual

Get/Set the display mode.

◆ GetDisplayMode()

virtual vtkOpenGLFluidMapper::FluidDisplayMode vtkOpenGLFluidMapper::GetDisplayMode ( )
virtual

Get/Set the display mode.

◆ SetAttenuationColor() [1/2]

virtual void vtkOpenGLFluidMapper::SetAttenuationColor ( float  ,
float  ,
float   
)
virtual

Get/Set the fluid attenuation color (color that will be absorpted exponentially when going through the fluid volume)

◆ SetAttenuationColor() [2/2]

virtual void vtkOpenGLFluidMapper::SetAttenuationColor ( float  [3])
virtual

Get/Set the fluid attenuation color (color that will be absorpted exponentially when going through the fluid volume)

◆ GetAttenuationColor() [1/3]

virtual float * vtkOpenGLFluidMapper::GetAttenuationColor ( )
virtual

Get/Set the fluid attenuation color (color that will be absorpted exponentially when going through the fluid volume)

◆ GetAttenuationColor() [2/3]

virtual void vtkOpenGLFluidMapper::GetAttenuationColor ( float &  ,
float &  ,
float &   
)
virtual

Get/Set the fluid attenuation color (color that will be absorpted exponentially when going through the fluid volume)

◆ GetAttenuationColor() [3/3]

virtual void vtkOpenGLFluidMapper::GetAttenuationColor ( float  [3])
virtual

Get/Set the fluid attenuation color (color that will be absorpted exponentially when going through the fluid volume)

◆ SetOpaqueColor() [1/2]

virtual void vtkOpenGLFluidMapper::SetOpaqueColor ( float  ,
float  ,
float   
)
virtual

Get/Set the fluid surface color if rendered in opaque surface mode without particle color.

◆ SetOpaqueColor() [2/2]

virtual void vtkOpenGLFluidMapper::SetOpaqueColor ( float  [3])
virtual

Get/Set the fluid surface color if rendered in opaque surface mode without particle color.

◆ GetOpaqueColor() [1/3]

virtual float * vtkOpenGLFluidMapper::GetOpaqueColor ( )
virtual

Get/Set the fluid surface color if rendered in opaque surface mode without particle color.

◆ GetOpaqueColor() [2/3]

virtual void vtkOpenGLFluidMapper::GetOpaqueColor ( float &  ,
float &  ,
float &   
)
virtual

Get/Set the fluid surface color if rendered in opaque surface mode without particle color.

◆ GetOpaqueColor() [3/3]

virtual void vtkOpenGLFluidMapper::GetOpaqueColor ( float  [3])
virtual

Get/Set the fluid surface color if rendered in opaque surface mode without particle color.

◆ SetParticleColorPower()

virtual void vtkOpenGLFluidMapper::SetParticleColorPower ( float  )
virtual

Get/Set the power value for particle color if input data has particle color Default value is 0.1, and can be set to any non-negative number The particle color is then recomputed as newColor = pow(oldColor, power) * scale.

◆ GetParticleColorPower()

virtual float vtkOpenGLFluidMapper::GetParticleColorPower ( )
virtual

Get/Set the power value for particle color if input data has particle color Default value is 0.1, and can be set to any non-negative number The particle color is then recomputed as newColor = pow(oldColor, power) * scale.

◆ SetParticleColorScale()

virtual void vtkOpenGLFluidMapper::SetParticleColorScale ( float  )
virtual

Get/Set the scale value for particle color if input data has particle color Default value is 1.0, and can be set to any non-negative number The particle color is then recomputed as newColor = pow(oldColor, power) * scale.

◆ GetParticleColorScale()

virtual float vtkOpenGLFluidMapper::GetParticleColorScale ( )
virtual

Get/Set the scale value for particle color if input data has particle color Default value is 1.0, and can be set to any non-negative number The particle color is then recomputed as newColor = pow(oldColor, power) * scale.

◆ SetAttenuationScale()

virtual void vtkOpenGLFluidMapper::SetAttenuationScale ( float  )
virtual

Get/Set the fluid volume attenuation scale, which will be multiplied with attennuation color Default value is 1.0, and can be set to any non-negative number The larger attennuation scale, the darker fluid color.

◆ GetAttenuationScale()

virtual float vtkOpenGLFluidMapper::GetAttenuationScale ( )
virtual

Get/Set the fluid volume attenuation scale, which will be multiplied with attennuation color Default value is 1.0, and can be set to any non-negative number The larger attennuation scale, the darker fluid color.

◆ SetAdditionalReflection()

virtual void vtkOpenGLFluidMapper::SetAdditionalReflection ( float  )
virtual

Get/Set the fluid surface additional reflection scale This value is in [0, 1], which 0 means using the reflection color computed from fresnel equation, and 1 means using reflection color as [1, 1, 1] Default value is 0.

◆ GetAdditionalReflection()

virtual float vtkOpenGLFluidMapper::GetAdditionalReflection ( )
virtual

Get/Set the fluid surface additional reflection scale This value is in [0, 1], which 0 means using the reflection color computed from fresnel equation, and 1 means using reflection color as [1, 1, 1] Default value is 0.

◆ SetRefractionScale()

virtual void vtkOpenGLFluidMapper::SetRefractionScale ( float  )
virtual

Get/Set the scale value for refraction This is needed for tweak refraction of volumes with different size scales For example, fluid volume having diameter of 100.0 will refract light much more than volume with diameter 1.0 This value is in [0, 1], default value is 1.0.

◆ GetRefractionScale()

virtual float vtkOpenGLFluidMapper::GetRefractionScale ( )
virtual

Get/Set the scale value for refraction This is needed for tweak refraction of volumes with different size scales For example, fluid volume having diameter of 100.0 will refract light much more than volume with diameter 1.0 This value is in [0, 1], default value is 1.0.

◆ SetRefractiveIndex()

virtual void vtkOpenGLFluidMapper::SetRefractiveIndex ( float  )
virtual

Get/Set the fluid refraction index.

The default value is 1.33 (water)

◆ GetRefractiveIndex()

virtual float vtkOpenGLFluidMapper::GetRefractiveIndex ( )
virtual

Get/Set the fluid refraction index.

The default value is 1.33 (water)

◆ Render()

void vtkOpenGLFluidMapper::Render ( vtkRenderer ren,
vtkVolume vol 
)
overridevirtual

This calls RenderPiece.

Implements vtkAbstractVolumeMapper.

◆ ReleaseGraphicsResources()

void vtkOpenGLFluidMapper::ReleaseGraphicsResources ( vtkWindow w)
overridevirtual

Release graphics resources and ask components to release their own resources.

Precondition
w_exists: w!=0

Reimplemented from vtkAbstractVolumeMapper.

◆ UpdateDepthThicknessColorShaders()

void vtkOpenGLFluidMapper::UpdateDepthThicknessColorShaders ( vtkOpenGLHelper glHelper,
vtkRenderer renderer,
vtkVolume vol 
)
protected

Perform string replacements on the shader templates.

◆ SetDepthThicknessColorShaderParameters()

void vtkOpenGLFluidMapper::SetDepthThicknessColorShaderParameters ( vtkOpenGLHelper glHelper,
vtkRenderer renderer,
vtkVolume vol 
)
protected

Set the shader parameters related to the actor/mapper/camera.

◆ SetupBuffers()

void vtkOpenGLFluidMapper::SetupBuffers ( vtkOpenGLRenderWindow *const  renderWindow)
protected

Setup the texture buffers.

◆ RenderParticles()

void vtkOpenGLFluidMapper::RenderParticles ( vtkRenderer renderer,
vtkVolume vol 
)
protected

Render the fluid particles.

Member Data Documentation

◆ ParticleRadius

float vtkOpenGLFluidMapper::ParticleRadius = 1.0f
protected

Definition at line 310 of file vtkOpenGLFluidMapper.h.

◆ SurfaceFilterMethod

FluidSurfaceFilterMethod vtkOpenGLFluidMapper::SurfaceFilterMethod = FluidSurfaceFilterMethod::NarrowRange
protected

Definition at line 312 of file vtkOpenGLFluidMapper.h.

◆ SurfaceFilterIterations

uint32_t vtkOpenGLFluidMapper::SurfaceFilterIterations = 3u
protected

Definition at line 313 of file vtkOpenGLFluidMapper.h.

◆ SurfaceFilterRadius

uint32_t vtkOpenGLFluidMapper::SurfaceFilterRadius = 5u
protected

Definition at line 314 of file vtkOpenGLFluidMapper.h.

◆ NRFilterLambda

float vtkOpenGLFluidMapper::NRFilterLambda = 10.0f
protected

Definition at line 315 of file vtkOpenGLFluidMapper.h.

◆ NRFilterMu

float vtkOpenGLFluidMapper::NRFilterMu = 1.0f
protected

Definition at line 316 of file vtkOpenGLFluidMapper.h.

◆ BiGaussFilterSigmaDepth

float vtkOpenGLFluidMapper::BiGaussFilterSigmaDepth = 10.0f
protected

Definition at line 317 of file vtkOpenGLFluidMapper.h.

◆ ThicknessAndVolumeColorFilterIterations

uint32_t vtkOpenGLFluidMapper::ThicknessAndVolumeColorFilterIterations = 3u
protected

Definition at line 319 of file vtkOpenGLFluidMapper.h.

◆ ThicknessAndVolumeColorFilterRadius

uint32_t vtkOpenGLFluidMapper::ThicknessAndVolumeColorFilterRadius = 10u
protected

Definition at line 320 of file vtkOpenGLFluidMapper.h.

◆ DisplayMode

FluidDisplayMode vtkOpenGLFluidMapper::DisplayMode = FluidDisplayMode::TransparentFluidVolume
protected

Definition at line 322 of file vtkOpenGLFluidMapper.h.

◆ OpaqueColor

float vtkOpenGLFluidMapper::OpaqueColor[3] { 0.0f, 0.0f, 0.95f }
protected

Definition at line 324 of file vtkOpenGLFluidMapper.h.

◆ AttenuationColor

float vtkOpenGLFluidMapper::AttenuationColor[3] { 0.5f, 0.2f, 0.05f }
protected

Definition at line 325 of file vtkOpenGLFluidMapper.h.

◆ ParticleColorPower

float vtkOpenGLFluidMapper::ParticleColorPower = 0.1f
protected

Definition at line 326 of file vtkOpenGLFluidMapper.h.

◆ ParticleColorScale

float vtkOpenGLFluidMapper::ParticleColorScale = 1.0f
protected

Definition at line 327 of file vtkOpenGLFluidMapper.h.

◆ AttenuationScale

float vtkOpenGLFluidMapper::AttenuationScale = 1.0f
protected

Definition at line 328 of file vtkOpenGLFluidMapper.h.

◆ AdditionalReflection

float vtkOpenGLFluidMapper::AdditionalReflection = 0.0f
protected

Definition at line 329 of file vtkOpenGLFluidMapper.h.

◆ RefractionScale

float vtkOpenGLFluidMapper::RefractionScale = 1.0f
protected

Definition at line 330 of file vtkOpenGLFluidMapper.h.

◆ RefractiveIndex

float vtkOpenGLFluidMapper::RefractiveIndex = 1.33f
protected

Definition at line 331 of file vtkOpenGLFluidMapper.h.

◆ ScalarVisibility

bool vtkOpenGLFluidMapper::ScalarVisibility = false
protected

Definition at line 333 of file vtkOpenGLFluidMapper.h.

◆ InDepthPass

bool vtkOpenGLFluidMapper::InDepthPass = true
protected

Definition at line 334 of file vtkOpenGLFluidMapper.h.

◆ HasVertexColor

bool vtkOpenGLFluidMapper::HasVertexColor = false
protected

Definition at line 339 of file vtkOpenGLFluidMapper.h.

◆ ViewportX

int vtkOpenGLFluidMapper::ViewportX
protected

Definition at line 342 of file vtkOpenGLFluidMapper.h.

◆ ViewportY

int vtkOpenGLFluidMapper::ViewportY
protected

Definition at line 343 of file vtkOpenGLFluidMapper.h.

◆ ViewportWidth

int vtkOpenGLFluidMapper::ViewportWidth
protected

Definition at line 344 of file vtkOpenGLFluidMapper.h.

◆ ViewportHeight

int vtkOpenGLFluidMapper::ViewportHeight
protected

Definition at line 345 of file vtkOpenGLFluidMapper.h.

◆ CamWCVC

vtkMatrix4x4* vtkOpenGLFluidMapper::CamWCVC
protected

Definition at line 348 of file vtkOpenGLFluidMapper.h.

◆ CamInvertedNorms

vtkMatrix3x3* vtkOpenGLFluidMapper::CamInvertedNorms
protected

Definition at line 349 of file vtkOpenGLFluidMapper.h.

◆ CamVCDC

vtkMatrix4x4* vtkOpenGLFluidMapper::CamVCDC
protected

Definition at line 350 of file vtkOpenGLFluidMapper.h.

◆ CamWCDC

vtkMatrix4x4* vtkOpenGLFluidMapper::CamWCDC
protected

Definition at line 351 of file vtkOpenGLFluidMapper.h.

◆ CamDCVC

vtkMatrix4x4* vtkOpenGLFluidMapper::CamDCVC
protected

Definition at line 352 of file vtkOpenGLFluidMapper.h.

◆ CamParallelProjection

vtkTypeBool vtkOpenGLFluidMapper::CamParallelProjection
protected

Definition at line 353 of file vtkOpenGLFluidMapper.h.

◆ FBFluidEyeZ

vtkSmartPointer<vtkOpenGLFramebufferObject> vtkOpenGLFluidMapper::FBFluidEyeZ
protected

Definition at line 356 of file vtkOpenGLFluidMapper.h.

◆ FBThickness

vtkSmartPointer<vtkOpenGLFramebufferObject> vtkOpenGLFluidMapper::FBThickness
protected

Definition at line 357 of file vtkOpenGLFluidMapper.h.

◆ FBFilterThickness

vtkSmartPointer<vtkOpenGLFramebufferObject> vtkOpenGLFluidMapper::FBFilterThickness
protected

Definition at line 358 of file vtkOpenGLFluidMapper.h.

◆ FBCompNormal

vtkSmartPointer<vtkOpenGLFramebufferObject> vtkOpenGLFluidMapper::FBCompNormal
protected

Definition at line 359 of file vtkOpenGLFluidMapper.h.

◆ FBFilterDepth

vtkSmartPointer<vtkOpenGLFramebufferObject> vtkOpenGLFluidMapper::FBFilterDepth
protected

Definition at line 360 of file vtkOpenGLFluidMapper.h.

◆ QuadFluidDepthFilter

vtkOpenGLQuadHelper* vtkOpenGLFluidMapper::QuadFluidDepthFilter[NumFilterMethods] { nullptr, nullptr }
protected

Definition at line 363 of file vtkOpenGLFluidMapper.h.

◆ QuadThicknessFilter

vtkOpenGLQuadHelper* vtkOpenGLFluidMapper::QuadThicknessFilter = nullptr
protected

Definition at line 364 of file vtkOpenGLFluidMapper.h.

◆ QuadFluidNormal

vtkOpenGLQuadHelper* vtkOpenGLFluidMapper::QuadFluidNormal = nullptr
protected

Definition at line 365 of file vtkOpenGLFluidMapper.h.

◆ QuadFinalBlend

vtkOpenGLQuadHelper* vtkOpenGLFluidMapper::QuadFinalBlend = nullptr
protected

Definition at line 366 of file vtkOpenGLFluidMapper.h.

◆ VBOs

vtkSmartPointer<vtkOpenGLVertexBufferObjectGroup> vtkOpenGLFluidMapper::VBOs
protected

Definition at line 369 of file vtkOpenGLFluidMapper.h.

◆ VBOBuildTime

vtkTimeStamp vtkOpenGLFluidMapper::VBOBuildTime
protected

Definition at line 370 of file vtkOpenGLFluidMapper.h.

◆ GLHelperDepthThickness

vtkOpenGLHelper vtkOpenGLFluidMapper::GLHelperDepthThickness
protected

Definition at line 371 of file vtkOpenGLFluidMapper.h.

◆ TexBuffer

vtkTextureObject* vtkOpenGLFluidMapper::TexBuffer[NumTexBuffers]
protected

Definition at line 395 of file vtkOpenGLFluidMapper.h.

◆ OptionalTexBuffer

vtkTextureObject* vtkOpenGLFluidMapper::OptionalTexBuffer[NumOptionalTexBuffers]
protected

Definition at line 396 of file vtkOpenGLFluidMapper.h.

◆ TempMatrix4

vtkMatrix4x4* vtkOpenGLFluidMapper::TempMatrix4
protected

Definition at line 397 of file vtkOpenGLFluidMapper.h.


The documentation for this class was generated from the following file: