ActiViz .NET  5.8.0
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Static Private Member Functions
Kitware.VTK.vtkHAVSVolumeMapper Class Reference

vtkHAVSVolumeMapper - Hardware-Assisted Visibility Sorting unstructured grid mapper More...

Inheritance diagram for Kitware.VTK.vtkHAVSVolumeMapper:
[legend]
Collaboration diagram for Kitware.VTK.vtkHAVSVolumeMapper:
[legend]

List of all members.

Public Member Functions

 vtkHAVSVolumeMapper (IntPtr rawCppThis, bool callDisposalMethod, bool strong)
 Automatically generated constructor - called from generated code. DO NOT call directly.
 vtkHAVSVolumeMapper ()
 *Undocumented Block
virtual bool GetGPUDataStructures ()
 Set/get whether or not the data structures should be stored on the GPU for better peformance.
virtual int GetKBufferSize ()
 Set the kbuffer size.
virtual bool GetLevelOfDetail ()
 Turn on/off level-of-detail volume rendering.
virtual int GetLevelOfDetailMethod ()
 Set/get the current level-of-detail method.
virtual float GetLevelOfDetailTargetTime ()
 Set/get the desired level of detail target time measured in frames/sec.
virtual bool GetPartiallyRemoveNonConvexities ()
 regions by removing ray segments larger than the max cell size.
override int IsA (string type)
 *Undocumented Block
new vtkHAVSVolumeMapper NewInstance ()
 *Undocumented Block
virtual void SetGPUDataStructures (bool arg0)
 Set/get whether or not the data structures should be stored on the GPU for better peformance.
virtual void SetKBufferSize (int _arg)
 Set the kbuffer size.
void SetKBufferSizeTo2 ()
 Set the kbuffer size.
void SetKBufferSizeTo6 ()
 Set the kbuffer size.
virtual void SetLevelOfDetail (bool _arg)
 Turn on/off level-of-detail volume rendering.
void SetLevelOfDetailMethod (int arg0)
 Set/get the current level-of-detail method.
void SetLevelOfDetailMethodArea ()
 Set/get the current level-of-detail method.
void SetLevelOfDetailMethodField ()
 Set/get the current level-of-detail method.
virtual void SetLevelOfDetailTargetTime (float _arg)
 Set/get the desired level of detail target time measured in frames/sec.
virtual void SetPartiallyRemoveNonConvexities (bool _arg)
 regions by removing ray segments larger than the max cell size.
virtual bool SupportedByHardware (vtkRenderer arg0)
 Check hardware support for the HAVS algorithm. Necessary features include off-screen rendering, 32-bit fp textures, multiple render targets, and framebuffer objects. Subclasses must override this method to indicate if supported by Hardware.
- Public Member Functions inherited from Kitware.VTK.vtkUnstructuredGridVolumeMapper
 vtkUnstructuredGridVolumeMapper (IntPtr rawCppThis, bool callDisposalMethod, bool strong)
 Automatically generated constructor - called from generated code. DO NOT call directly.
virtual int GetBlendMode ()
 Set/Get the input data.
vtkUnstructuredGrid GetInput ()
 Set/Get the input data.
override void ReleaseGraphicsResources (vtkWindow arg0)
 Set/Get the input data.
override void Render (vtkRenderer ren, vtkVolume vol)
 Set/Get the input data.
virtual void SetBlendMode (int _arg)
 Set/Get the input data.
void SetBlendModeToComposite ()
 Set/Get the input data.
void SetBlendModeToMaximumIntensity ()
 Set/Get the input data.
virtual void SetInput (vtkUnstructuredGrid arg0)
 Set/Get the input data.
override void SetInput (vtkDataSet arg0)
 Set/Get the input data.
- Public Member Functions inherited from Kitware.VTK.vtkAbstractVolumeMapper
 vtkAbstractVolumeMapper (IntPtr rawCppThis, bool callDisposalMethod, bool strong)
 Automatically generated constructor - called from generated code. DO NOT call directly.
virtual int GetArrayAccessMode ()
 Get the array name or number and component to use for rendering.
virtual int GetArrayId ()
 Get the array name or number and component to use for rendering.
virtual string GetArrayName ()
 Get the array name or number and component to use for rendering.
override double[] GetBounds ()
 Return bounding box (array of six doubles) of data expressed as (xmin,xmax, ymin,ymax, zmin,zmax).
override void GetBounds (IntPtr bounds)
 Return bounding box (array of six doubles) of data expressed as (xmin,xmax, ymin,ymax, zmin,zmax).
vtkDataObject GetDataObjectInput ()
 Set/Get the input data.
vtkDataSet GetDataSetInput ()
 Set/Get the input data.
virtual float GetGradientMagnitudeBias ()
 Return the method for obtaining scalar data.
virtual float GetGradientMagnitudeBias (int arg0)
 Return the method for obtaining scalar data.
virtual float GetGradientMagnitudeScale ()
 Return the method for obtaining scalar data.
virtual float GetGradientMagnitudeScale (int arg0)
 Return the method for obtaining scalar data.
virtual int GetScalarMode ()
 Control how the mapper works with scalar point data and cell attribute data. By default (ScalarModeToDefault), the mapper will use point data, and if no point data is available, then cell data is used. Alternatively you can explicitly set the mapper to use point data (ScalarModeToUsePointData) or cell data (ScalarModeToUseCellData). You can also choose to get the scalars from an array in point field data (ScalarModeToUsePointFieldData) or cell field data (ScalarModeToUseCellFieldData). If scalars are coming from a field data array, you must call SelectScalarArray.
string GetScalarModeAsString ()
 Return the method for obtaining scalar data.
virtual void SelectScalarArray (int arrayNum)
 When ScalarMode is set to UsePointFieldData or UseCellFieldData, you can specify which scalar array to use during rendering. The transfer function in the vtkVolumeProperty (attached to the calling vtkVolume) will decide how to convert vectors to colors.
virtual void SelectScalarArray (string arrayName)
 When ScalarMode is set to UsePointFieldData or UseCellFieldData, you can specify which scalar array to use during rendering. The transfer function in the vtkVolumeProperty (attached to the calling vtkVolume) will decide how to convert vectors to colors.
virtual void SetScalarMode (int _arg)
 Control how the mapper works with scalar point data and cell attribute data. By default (ScalarModeToDefault), the mapper will use point data, and if no point data is available, then cell data is used. Alternatively you can explicitly set the mapper to use point data (ScalarModeToUsePointData) or cell data (ScalarModeToUseCellData). You can also choose to get the scalars from an array in point field data (ScalarModeToUsePointFieldData) or cell field data (ScalarModeToUseCellFieldData). If scalars are coming from a field data array, you must call SelectScalarArray.
void SetScalarModeToDefault ()
 Control how the mapper works with scalar point data and cell attribute data. By default (ScalarModeToDefault), the mapper will use point data, and if no point data is available, then cell data is used. Alternatively you can explicitly set the mapper to use point data (ScalarModeToUsePointData) or cell data (ScalarModeToUseCellData). You can also choose to get the scalars from an array in point field data (ScalarModeToUsePointFieldData) or cell field data (ScalarModeToUseCellFieldData). If scalars are coming from a field data array, you must call SelectScalarArray.
void SetScalarModeToUseCellData ()
 Control how the mapper works with scalar point data and cell attribute data. By default (ScalarModeToDefault), the mapper will use point data, and if no point data is available, then cell data is used. Alternatively you can explicitly set the mapper to use point data (ScalarModeToUsePointData) or cell data (ScalarModeToUseCellData). You can also choose to get the scalars from an array in point field data (ScalarModeToUsePointFieldData) or cell field data (ScalarModeToUseCellFieldData). If scalars are coming from a field data array, you must call SelectScalarArray.
void SetScalarModeToUseCellFieldData ()
 Control how the mapper works with scalar point data and cell attribute data. By default (ScalarModeToDefault), the mapper will use point data, and if no point data is available, then cell data is used. Alternatively you can explicitly set the mapper to use point data (ScalarModeToUsePointData) or cell data (ScalarModeToUseCellData). You can also choose to get the scalars from an array in point field data (ScalarModeToUsePointFieldData) or cell field data (ScalarModeToUseCellFieldData). If scalars are coming from a field data array, you must call SelectScalarArray.
void SetScalarModeToUsePointData ()
 Control how the mapper works with scalar point data and cell attribute data. By default (ScalarModeToDefault), the mapper will use point data, and if no point data is available, then cell data is used. Alternatively you can explicitly set the mapper to use point data (ScalarModeToUsePointData) or cell data (ScalarModeToUseCellData). You can also choose to get the scalars from an array in point field data (ScalarModeToUsePointFieldData) or cell field data (ScalarModeToUseCellFieldData). If scalars are coming from a field data array, you must call SelectScalarArray.
void SetScalarModeToUsePointFieldData ()
 Control how the mapper works with scalar point data and cell attribute data. By default (ScalarModeToDefault), the mapper will use point data, and if no point data is available, then cell data is used. Alternatively you can explicitly set the mapper to use point data (ScalarModeToUsePointData) or cell data (ScalarModeToUseCellData). You can also choose to get the scalars from an array in point field data (ScalarModeToUsePointFieldData) or cell field data (ScalarModeToUseCellFieldData). If scalars are coming from a field data array, you must call SelectScalarArray.
- Public Member Functions inherited from Kitware.VTK.vtkAbstractMapper3D
 vtkAbstractMapper3D (IntPtr rawCppThis, bool callDisposalMethod, bool strong)
 Automatically generated constructor - called from generated code. DO NOT call directly.
double[] GetCenter ()
 Return the Center of this mapper's data.
void GetCenter (IntPtr center)
 Return the Center of this mapper's data.
double GetLength ()
 Return the diagonal length of this mappers bounding box.
virtual int 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 int 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.
- Public Member Functions inherited from Kitware.VTK.vtkAbstractMapper
 vtkAbstractMapper (IntPtr rawCppThis, bool callDisposalMethod, bool strong)
 Automatically generated constructor - called from generated code. DO NOT call directly.
void AddClippingPlane (vtkPlane plane)
 Specify clipping planes to be applied when the data is mapped (at most 6 clipping planes can be specified).
virtual vtkPlaneCollection GetClippingPlanes ()
 Get/Set the vtkPlaneCollection which specifies the clipping planes.
override uint GetMTime ()
 Override Modifiedtime as we have added Clipping planes.
virtual double GetTimeToDraw ()
 Get the time required to draw the geometry last time it was rendered.
void RemoveAllClippingPlanes ()
 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).
virtual void SetClippingPlanes (vtkPlaneCollection arg0)
 Get/Set the vtkPlaneCollection which specifies the clipping planes.
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.
void ShallowCopy (vtkAbstractMapper m)
 Make a shallow copy of this mapper.
- Public Member Functions inherited from Kitware.VTK.vtkAlgorithm
 vtkAlgorithm (IntPtr rawCppThis, bool callDisposalMethod, bool strong)
 Automatically generated constructor - called from generated code. DO NOT call directly.
 vtkAlgorithm ()
 *Undocumented Block
override void Register (vtkObjectBase o)
 Participate in garbage collection.
virtual void AbortExecuteOff ()
 Set/Get the AbortExecute flag for the process object. Process objects may handle premature termination of execution in different ways.
virtual void AbortExecuteOn ()
 Set/Get the AbortExecute flag for the process object. Process objects may handle premature termination of execution in different ways.
virtual void AddInputConnection (int port, vtkAlgorithmOutput input)
 Add a connection to the given input port index. See SetInputConnection() for details on input connections. This method is the complement to RemoveInputConnection() in that it adds only the connection specified without affecting other connections. Typical usage is.
virtual void AddInputConnection (vtkAlgorithmOutput input)
 Add a connection to the given input port index. See SetInputConnection() for details on input connections. This method is the complement to RemoveInputConnection() in that it adds only the connection specified without affecting other connections. Typical usage is.
virtual double ComputePriority ()
 Returns the priority of the piece described by the current update extent. The priority is a number between 0.0 and 1.0 with 0 meaning skippable (REQUEST_DATA not needed) and 1.0 meaning important.
void ConvertTotalInputToPortConnection (int ind, ref int port, ref int conn)
 Convenience routine to convert from a linear ordering of input connections to a port/connection pair.
virtual int GetAbortExecute ()
 Set/Get the AbortExecute flag for the process object. Process objects may handle premature termination of execution in different ways.
virtual uint GetErrorCode ()
 The error code contains a possible error that occured while reading or writing the file.
vtkExecutive GetExecutive ()
 Get this algorithm's executive. If it has none, a default executive will be created.
virtual vtkInformation GetInformation ()
 Set/Get the information object associated with this algorithm.
vtkInformation GetInputArrayInformation (int idx)
 Get the info object for the specified input array to this algorithm.
vtkAlgorithmOutput GetInputConnection (int port, int index)
 Get the algorithm output port connected to an input port.
vtkDataObject GetInputDataObject (int port, int connection)
 Get the data object that will contain the algorithm input for the given port and given connection.
vtkInformation GetInputPortInformation (int port)
 Get the information object associated with an input port. There is one input port per kind of input to the algorithm. Each input port tells executives what kind of data and downstream requests this algorithm can handle for that input.
int GetNumberOfInputConnections (int port)
 Get the number of inputs currently connected to a 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.
vtkDataObject GetOutputDataObject (int port)
 Get the data object that will contain the algorithm output for the given port.
vtkAlgorithmOutput GetOutputPort (int index)
 Get a proxy object corresponding to the given output port of this algorithm. The proxy object can be passed to another algorithm's SetInputConnection(), AddInputConnection(), and RemoveInputConnection() methods to modify pipeline connectivity.
vtkAlgorithmOutput GetOutputPort ()
 Get a proxy object corresponding to the given output port of this algorithm. The proxy object can be passed to another algorithm's SetInputConnection(), AddInputConnection(), and RemoveInputConnection() methods to modify pipeline connectivity.
vtkInformation GetOutputPortInformation (int port)
 Get the information object associated with an output port. There is one output port per output from the algorithm. Each output port tells executives what kind of upstream requests this algorithm can handle for that output.
virtual double GetProgress ()
 Set/Get the execution progress of a process object.
virtual double GetProgressMaxValue ()
 Set/Get the execution progress of a process object.
virtual double GetProgressMinValue ()
 Set/Get the execution progress of a process object.
virtual string GetProgressText ()
 Set the current text message associated with the progress state. This may be used by a calling process/GUI. Note: Because SetProgressText() is called from inside RequestData() it does not modify the algorithm object. Algorithms are not allowed to modify themselves from inside RequestData().
virtual int GetReleaseDataFlag ()
 Turn release data flag on or off for all output ports.
int GetTotalNumberOfInputConnections ()
 Get the total number of inputs for this algorithm.
int HasExecutive ()
 Check whether this algorithm has an assigned executive. This will NOT create a default executive.
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. The default implementation is empty. Returns 1 on success, 0 on failure. When can be either vtkExecutive::BeforeForward or vtkExecutive::AfterForward.
int ProcessRequest (vtkInformation request, vtkCollection inInfo, vtkInformationVector outInfo)
 Version of ProcessRequest() that is wrapped. This converts the collection to an array and calls the other version.
void ReleaseDataFlagOff ()
 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 RemoveAllInputs ()
 Remove all the input data.
virtual void RemoveInputConnection (int port, vtkAlgorithmOutput input)
 Remove a connection from the given input port index. See SetInputConnection() for details on input connection. This method is the complement to AddInputConnection() in that it removes only the connection specified without affecting other connections. Typical usage is.
virtual void SetAbortExecute (int _arg)
 Set/Get the AbortExecute flag for the process object. Process objects may handle premature termination of execution in different ways.
virtual void SetExecutive (vtkExecutive executive)
 Set this algorithm's executive. This algorithm is removed from any executive to which it has previously been assigned and then assigned to the given executive.
virtual void SetInformation (vtkInformation arg0)
 Set/Get the information object associated with this algorithm.
virtual void SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, string name)
 Set the input data arrays that this algorithm will process. Specifically the idx array that this algorithm will process (starting from 0) is the array on port, connection with the specified association and name or attribute type (such as SCALARS). The fieldAssociation refers to which field in the data object the array is stored. See vtkDataObject::FieldAssociations for detail.
virtual void SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, int fieldAttributeType)
 Set the input data arrays that this algorithm will process. Specifically the idx array that this algorithm will process (starting from 0) is the array on port, connection with the specified association and name or attribute type (such as SCALARS). The fieldAssociation refers to which field in the data object the array is stored. See vtkDataObject::FieldAssociations for detail.
virtual void SetInputArrayToProcess (int idx, vtkInformation info)
 Set the input data arrays that this algorithm will process. Specifically the idx array that this algorithm will process (starting from 0) is the array on port, connection with the specified association and name or attribute type (such as SCALARS). The fieldAssociation refers to which field in the data object the array is stored. See vtkDataObject::FieldAssociations for detail.
virtual void SetInputArrayToProcess (int idx, int port, int connection, string fieldAssociation, string attributeTypeorName)
 String based versions of SetInputArrayToProcess(). Because fieldAssociation and fieldAttributeType are enums, they cannot be easily accessed from scripting language. These methods provides an easy and safe way of passing association and attribute type information. Field association is one of the following:
virtual void SetInputConnection (int port, vtkAlgorithmOutput input)
 Set the connection for the given input port index. Each input port of a filter has a specific purpose. A port may have zero or more connections and the required number is specified by each filter. Setting the connection with this method removes all other connections from the port. To add more than one connection use AddInputConnection().
virtual void SetInputConnection (vtkAlgorithmOutput input)
 Set the connection for the given input port index. Each input port of a filter has a specific purpose. A port may have zero or more connections and the required number is specified by each filter. Setting the connection with this method removes all other connections from the port. To add more than one connection use AddInputConnection().
virtual void SetProgress (double _arg)
 Set/Get the execution progress of a process object.
void SetProgressText (string ptext)
 Set the current text message associated with the progress state. This may be used by a calling process/GUI. Note: Because SetProgressText() is called from inside RequestData() it does not modify the algorithm object. Algorithms are not allowed to modify themselves from inside RequestData().
virtual void SetReleaseDataFlag (int arg0)
 Turn release data flag on or off for all output ports.
virtual void Update ()
 Bring this algorithm's outputs up-to-date.
int UpdateExtentIsEmpty (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. The source uses this call to determine whether to call Execute.
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. The source uses this call to determine whether to call Execute.
virtual void UpdateInformation ()
 Backward compatibility method to invoke UpdateInformation on executive.
void UpdateProgress (double amount)
 Update the progress of the process object. If a ProgressMethod exists, executes it. Then set the Progress ivar to amount. The parameter amount should range between (0,1).
virtual void UpdateWholeExtent ()
 Bring this algorithm's outputs up-to-date.
- Public Member Functions inherited from Kitware.VTK.vtkObject
 vtkObject (IntPtr rawCppThis, bool callDisposalMethod, bool strong)
 Automatically generated constructor - called from generated code. DO NOT call directly.
 vtkObject ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
uint AddObserver (uint arg0, vtkCommand arg1, float priority)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
uint AddObserver (string arg0, vtkCommand arg1, float priority)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
virtual void DebugOff ()
 Turn debugging output off.
virtual void DebugOn ()
 Turn debugging output on.
vtkCommand GetCommand (uint tag)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
byte GetDebug ()
 Get the value of the debug flag.
int HasObserver (uint arg0, vtkCommand arg1)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
int HasObserver (string arg0, vtkCommand arg1)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
int HasObserver (uint arg0)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
int HasObserver (string arg0)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
int InvokeEvent (uint arg0, IntPtr callData)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
int InvokeEvent (string arg0, IntPtr callData)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
int InvokeEvent (uint arg0)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
int InvokeEvent (string arg0)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
virtual void Modified ()
 Update the modification time for this object. Many filters rely on the modification time to determine if they need to recompute their data. The modification time is a unique monotonically increasing unsigned long integer.
void RemoveAllObservers ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
void RemoveObserver (vtkCommand arg0)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
void RemoveObserver (uint tag)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
void RemoveObservers (uint arg0, vtkCommand arg1)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
void RemoveObservers (string arg0, vtkCommand arg1)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
void RemoveObservers (uint arg0)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
void RemoveObservers (string arg0)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
void SetDebug (byte debugFlag)
 Set the value of the debug flag. A non-zero value turns debugging on.
override string ToString ()
 Returns the result of calling vtkObject::Print as a C# string.
delegate void vtkObjectEventHandler (vtkObject sender, vtkObjectEventArgs e)
 Generic signature for all vtkObject events.
void RemoveAllHandlersForAllEvents ()
 Call RemoveAllHandlers on each non-null vtkObjectEventRelay. TODO: This method needs to get called by the generated Dispose. Make that happen...
- Public Member Functions inherited from Kitware.VTK.vtkObjectBase
 vtkObjectBase (IntPtr rawCppThis, bool callDisposalMethod, bool strong)
 Automatically generated constructor - called from generated code. DO NOT call directly.
 vtkObjectBase ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
virtual void FastDelete ()
 Delete a reference to this object. This version will not invoke garbage collection and can potentially leak the object if it is part of a reference loop. Use this method only when it is known that the object has another reference and would not be collected if a full garbage collection check were done.
string GetClassName ()
 Return the class name as a string. This method is defined in all subclasses of vtkObjectBase with the vtkTypeMacro found in vtkSetGet.h.
int GetReferenceCount ()
 Return the current reference count of this object.
void SetReferenceCount (int arg0)
 Sets the reference count. (This is very dangerous, use with care.)

Static Public Member Functions

static new vtkHAVSVolumeMapper New ()
 *Undocumented Block
static new int IsTypeOf (string type)
 *Undocumented Block
static new vtkHAVSVolumeMapper SafeDownCast (vtkObjectBase o)
 *Undocumented Block

Public Attributes

new const string MRFullTypeName = "Kitware.VTK.vtkHAVSVolumeMapper"
 Automatically generated type registration mechanics.
- Public Attributes inherited from Kitware.VTK.vtkUnstructuredGridVolumeMapper
- Public Attributes inherited from Kitware.VTK.vtkAbstractVolumeMapper
- Public Attributes inherited from Kitware.VTK.vtkAbstractMapper3D
- Public Attributes inherited from Kitware.VTK.vtkAbstractMapper
- Public Attributes inherited from Kitware.VTK.vtkAlgorithm
- Public Attributes inherited from Kitware.VTK.vtkObject
- Public Attributes inherited from Kitware.VTK.vtkObjectBase
- Public Attributes inherited from Kitware.VTK.WrappedObject
const string vtkChartsEL_dll = "libKitware.VTK.vtkCharts.Unmanaged.so"
 Export layer functions for 'vtkCharts' are exported from the DLL named by the value of this variable.
const string vtkCommonEL_dll = "libKitware.VTK.vtkCommon.Unmanaged.so"
 Export layer functions for 'vtkCommon' are exported from the DLL named by the value of this variable.
const string vtkFilteringEL_dll = "libKitware.VTK.vtkFiltering.Unmanaged.so"
 Export layer functions for 'vtkFiltering' are exported from the DLL named by the value of this variable.
const string vtkGenericFilteringEL_dll = "libKitware.VTK.vtkGenericFiltering.Unmanaged.so"
 Export layer functions for 'vtkGenericFiltering' are exported from the DLL named by the value of this variable.
const string vtkGeovisEL_dll = "libKitware.VTK.vtkGeovis.Unmanaged.so"
 Export layer functions for 'vtkGeovis' are exported from the DLL named by the value of this variable.
const string vtkGraphicsEL_dll = "libKitware.VTK.vtkGraphics.Unmanaged.so"
 Export layer functions for 'vtkGraphics' are exported from the DLL named by the value of this variable.
const string vtkHybridEL_dll = "libKitware.VTK.vtkHybrid.Unmanaged.so"
 Export layer functions for 'vtkHybrid' are exported from the DLL named by the value of this variable.
const string vtkIOEL_dll = "libKitware.VTK.vtkIO.Unmanaged.so"
 Export layer functions for 'vtkIO' are exported from the DLL named by the value of this variable.
const string vtkImagingEL_dll = "libKitware.VTK.vtkImaging.Unmanaged.so"
 Export layer functions for 'vtkImaging' are exported from the DLL named by the value of this variable.
const string vtkInfovisEL_dll = "libKitware.VTK.vtkInfovis.Unmanaged.so"
 Export layer functions for 'vtkInfovis' are exported from the DLL named by the value of this variable.
const string vtkParallelEL_dll = "libKitware.VTK.vtkParallel.Unmanaged.so"
 Export layer functions for 'vtkParallel' are exported from the DLL named by the value of this variable.
const string vtkRenderingEL_dll = "libKitware.VTK.vtkRendering.Unmanaged.so"
 Export layer functions for 'vtkRendering' are exported from the DLL named by the value of this variable.
const string vtkViewsEL_dll = "libKitware.VTK.vtkViews.Unmanaged.so"
 Export layer functions for 'vtkViews' are exported from the DLL named by the value of this variable.
const string vtkVolumeRenderingEL_dll = "libKitware.VTK.vtkVolumeRendering.Unmanaged.so"
 Export layer functions for 'vtkVolumeRendering' are exported from the DLL named by the value of this variable.
const string vtkWidgetsEL_dll = "libKitware.VTK.vtkWidgets.Unmanaged.so"
 Export layer functions for 'vtkWidgets' are exported from the DLL named by the value of this variable.

Static Public Attributes

static new readonly string MRClassNameKey = "19vtkHAVSVolumeMapper"
 Automatically generated type registration mechanics.
- Static Public Attributes inherited from Kitware.VTK.vtkUnstructuredGridVolumeMapper
- Static Public Attributes inherited from Kitware.VTK.vtkAbstractVolumeMapper
- Static Public Attributes inherited from Kitware.VTK.vtkAbstractMapper3D
- Static Public Attributes inherited from Kitware.VTK.vtkAbstractMapper
- Static Public Attributes inherited from Kitware.VTK.vtkAlgorithm
- Static Public Attributes inherited from Kitware.VTK.vtkObject
- Static Public Attributes inherited from Kitware.VTK.vtkObjectBase

Protected Member Functions

override void Dispose (bool disposing)
 Automatically generated protected Dispose method - called from public Dispose or the C# destructor. DO NOT call directly.

Static Private Member Functions

static vtkHAVSVolumeMapper ()
 Automatically generated type registration mechanics.

Additional Inherited Members

- Public Types inherited from Kitware.VTK.vtkUnstructuredGridVolumeMapper
enum  COMPOSITE_BLEND_WrapperEnum { COMPOSITE_BLEND = 0, MAXIMUM_INTENSITY_BLEND = 1 }
 Set/Get the input data. More...

Detailed Description

vtkHAVSVolumeMapper - Hardware-Assisted Visibility Sorting unstructured grid mapper

Description

vtkHAVSVolumeMapper is a class that renders polygonal data (represented as an unstructured grid) using the Hardware-Assisted Visibility Sorting (HAVS) algorithm. First the unique triangles are sorted in object space, then they are sorted in image space using a fixed size A-buffer implemented on the GPU called the k-buffer. The HAVS algorithm excels at rendering large datasets quickly. The trade-off is that the algorithm may produce some rendering artifacts due to an insufficient k size (currently 2 or 6 is supported) or read/write race conditions.

A built in level-of-detail (LOD) approach samples the geometry using one of two heuristics (field or area). If LOD is enabled, the amount of geometry that is sampled and rendered changes dynamically to stay within the target frame rate. The field sampling method generally works best for datasets with cell sizes that don't vary much in size. On the contrary, the area sampling approach gives better approximations when the volume has a lot of variation in cell size.

The HAVS algorithm uses several advanced features on graphics hardware. The k-buffer sorting network is implemented using framebuffer objects (FBOs) with multiple render targets (MRTs). Therefore, only cards that support these features can run the algorithm (at least an ATI 9500 or an NVidia NV40 (6600)).

Notes

Several issues had to be addressed to get the HAVS algorithm working within the vtk framework. These additions forced the code to forsake speed for the sake of compliance and robustness.

The HAVS algorithm operates on the triangles that compose the mesh. Therefore, before rendering, the cells are decomposed into unique triangles and stored on the GPU for efficient rendering. The use of GPU data structures is only recommended if the entire geometry can fit in graphics memory. Otherwise this feature should be disabled.

Another new feature is the handling of mixed data types (eg., polygonal data with volume data). This is handled by reading the z-buffer from the current window and copying it into the framebuffer object for off-screen rendering. The depth test is then enabled so that the volume only appears over the opaque geometry. Finally, the results of the off-screen rendering are blended into the framebuffer as a transparent, view-aligned texture.

Instead of using a preintegrated 3D lookup table for storing the ray integral, this implementation uses partial pre-integration. This improves the performance of dynamic transfer function updates by avoiding a costly preprocess of the table.

A final change to the original algorithm is the handling of non-convexities in the mesh. Due to read/write hazards that may create undesired artifacts with non-convexities when using a inside/outside toggle in the fragment program, another approach was employed. To handle non-convexities, the fragment shader determines if a ray-gap is larger than the max cell size and kill the fragment if so. This approximation performs rather well in practice but may miss small non-convexities.

For more information on the HAVS algorithm see:

"Hardware-Assisted Visibility Sorting for Unstructured Volume Rendering" by S. P. Callahan, M. Ikits, J. L. D. Comba, and C. T. Silva, IEEE Transactions of Visualization and Computer Graphics; May/June 2005.

For more information on the Level-of-Detail algorithm, see:

"Interactive Rendering of Large Unstructured Grids Using Dynamic Level-of-Detail" by S. P. Callahan, J. L. D. Comba, P. Shirley, and C. T. Silva, Proceedings of IEEE Visualization '05, Oct. 2005.

Acknowledgments

This code was developed by Steven P. Callahan under the supervision of Prof. Claudio T. Silva. The code also contains contributions from Milan Ikits, Linh Ha, Huy T. Vo, Carlos E. Scheidegger, and Joao L. D. Comba.

The work was supported by grants, contracts, and gifts from the National Science Foundation, the Department of Energy, the Army Research Office, and IBM.

The port of HAVS to VTK and ParaView has been primarily supported by Sandia National Labs.


Constructor & Destructor Documentation

static Kitware.VTK.vtkHAVSVolumeMapper.vtkHAVSVolumeMapper ( )
staticprivate

Automatically generated type registration mechanics.

Kitware.VTK.vtkHAVSVolumeMapper.vtkHAVSVolumeMapper ( IntPtr  rawCppThis,
bool  callDisposalMethod,
bool  strong 
)

Automatically generated constructor - called from generated code. DO NOT call directly.

Kitware.VTK.vtkHAVSVolumeMapper.vtkHAVSVolumeMapper ( )

*Undocumented Block


Member Function Documentation

override void Kitware.VTK.vtkHAVSVolumeMapper.Dispose ( bool  disposing)
protected

Automatically generated protected Dispose method - called from public Dispose or the C# destructor. DO NOT call directly.

Reimplemented from Kitware.VTK.vtkUnstructuredGridVolumeMapper.

Reimplemented in Kitware.VTK.vtkOpenGLHAVSVolumeMapper.

virtual bool Kitware.VTK.vtkHAVSVolumeMapper.GetGPUDataStructures ( )
virtual

Set/get whether or not the data structures should be stored on the GPU for better peformance.

virtual int Kitware.VTK.vtkHAVSVolumeMapper.GetKBufferSize ( )
virtual

Set the kbuffer size.

virtual bool Kitware.VTK.vtkHAVSVolumeMapper.GetLevelOfDetail ( )
virtual

Turn on/off level-of-detail volume rendering.

virtual int Kitware.VTK.vtkHAVSVolumeMapper.GetLevelOfDetailMethod ( )
virtual

Set/get the current level-of-detail method.

virtual float Kitware.VTK.vtkHAVSVolumeMapper.GetLevelOfDetailTargetTime ( )
virtual

Set/get the desired level of detail target time measured in frames/sec.

virtual bool Kitware.VTK.vtkHAVSVolumeMapper.GetPartiallyRemoveNonConvexities ( )
virtual

regions by removing ray segments larger than the max cell size.

override int Kitware.VTK.vtkHAVSVolumeMapper.IsA ( string  type)
virtual

*Undocumented Block

Reimplemented from Kitware.VTK.vtkUnstructuredGridVolumeMapper.

Reimplemented in Kitware.VTK.vtkOpenGLHAVSVolumeMapper.

static new int Kitware.VTK.vtkHAVSVolumeMapper.IsTypeOf ( string  type)
static

*Undocumented Block

Reimplemented from Kitware.VTK.vtkUnstructuredGridVolumeMapper.

Reimplemented in Kitware.VTK.vtkOpenGLHAVSVolumeMapper.

static new vtkHAVSVolumeMapper Kitware.VTK.vtkHAVSVolumeMapper.New ( )
static

*Undocumented Block

Reimplemented from Kitware.VTK.vtkAlgorithm.

Reimplemented in Kitware.VTK.vtkOpenGLHAVSVolumeMapper.

new vtkHAVSVolumeMapper Kitware.VTK.vtkHAVSVolumeMapper.NewInstance ( )

*Undocumented Block

Reimplemented from Kitware.VTK.vtkUnstructuredGridVolumeMapper.

Reimplemented in Kitware.VTK.vtkOpenGLHAVSVolumeMapper.

static new vtkHAVSVolumeMapper Kitware.VTK.vtkHAVSVolumeMapper.SafeDownCast ( vtkObjectBase  o)
static

*Undocumented Block

Reimplemented from Kitware.VTK.vtkUnstructuredGridVolumeMapper.

Reimplemented in Kitware.VTK.vtkOpenGLHAVSVolumeMapper.

Here is the call graph for this function:

virtual void Kitware.VTK.vtkHAVSVolumeMapper.SetGPUDataStructures ( bool  arg0)
virtual

Set/get whether or not the data structures should be stored on the GPU for better peformance.

Reimplemented in Kitware.VTK.vtkOpenGLHAVSVolumeMapper.

virtual void Kitware.VTK.vtkHAVSVolumeMapper.SetKBufferSize ( int  _arg)
virtual

Set the kbuffer size.

void Kitware.VTK.vtkHAVSVolumeMapper.SetKBufferSizeTo2 ( )

Set the kbuffer size.

void Kitware.VTK.vtkHAVSVolumeMapper.SetKBufferSizeTo6 ( )

Set the kbuffer size.

virtual void Kitware.VTK.vtkHAVSVolumeMapper.SetLevelOfDetail ( bool  _arg)
virtual

Turn on/off level-of-detail volume rendering.

void Kitware.VTK.vtkHAVSVolumeMapper.SetLevelOfDetailMethod ( int  arg0)

Set/get the current level-of-detail method.

void Kitware.VTK.vtkHAVSVolumeMapper.SetLevelOfDetailMethodArea ( )

Set/get the current level-of-detail method.

void Kitware.VTK.vtkHAVSVolumeMapper.SetLevelOfDetailMethodField ( )

Set/get the current level-of-detail method.

virtual void Kitware.VTK.vtkHAVSVolumeMapper.SetLevelOfDetailTargetTime ( float  _arg)
virtual

Set/get the desired level of detail target time measured in frames/sec.

virtual void Kitware.VTK.vtkHAVSVolumeMapper.SetPartiallyRemoveNonConvexities ( bool  _arg)
virtual

regions by removing ray segments larger than the max cell size.

virtual bool Kitware.VTK.vtkHAVSVolumeMapper.SupportedByHardware ( vtkRenderer  arg0)
virtual

Check hardware support for the HAVS algorithm. Necessary features include off-screen rendering, 32-bit fp textures, multiple render targets, and framebuffer objects. Subclasses must override this method to indicate if supported by Hardware.

Reimplemented in Kitware.VTK.vtkOpenGLHAVSVolumeMapper.


Member Data Documentation

new readonly string Kitware.VTK.vtkHAVSVolumeMapper.MRClassNameKey = "19vtkHAVSVolumeMapper"
static

Automatically generated type registration mechanics.

Reimplemented from Kitware.VTK.vtkUnstructuredGridVolumeMapper.

Reimplemented in Kitware.VTK.vtkOpenGLHAVSVolumeMapper.

new const string Kitware.VTK.vtkHAVSVolumeMapper.MRFullTypeName = "Kitware.VTK.vtkHAVSVolumeMapper"

Automatically generated type registration mechanics.

Reimplemented from Kitware.VTK.vtkUnstructuredGridVolumeMapper.

Reimplemented in Kitware.VTK.vtkOpenGLHAVSVolumeMapper.


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