FreeMat

- Main Page
- Related Pages

vtkSource

Section: Visualization Toolkit Filtering Classes

# Usage

vtkSource is an abstract object that specifies behavior and interface of source objects. Source objects are objects that begin visualization pipeline. Sources include readers (read data from file or communications port) and procedural sources (generate data programmatically). vtkSource objects are also objects that generate output data. In this sense vtkSource is used as a superclass to vtkFilter.

Concrete subclasses of vtkSource must define Update() and Execute() methods. The public method Update() invokes network execution and will bring the network up-to-date. The protected Execute() method actually does the work of data creation/generation. The difference between the two methods is that Update() implements input consistency checks and modified time comparisons and then invokes the Execute() which is an implementation of a particular algorithm.

An important feature of subclasses of vtkSource is that it is possible to control the memory-management model (i.e., retain output versus delete output data). If enabled the ReleaseDataFlag enables the deletion of the output data once the downstream process object finishes processing the data (please see text).

To create an instance of class vtkSource, simply invoke its constructor as follows

      obj = vtkSource

# Methods

The class vtkSource has several methods that can be used. They are listed below. Note that the documentation is translated automatically from the VTK sources, and may not be completely intelligible. When in doubt, consult the VTK website. In the methods listed below, `obj` is an instance of the vtkSource class.

- `string = obj.GetClassName ()`
- `int = obj.IsA (string name)`
- `vtkSource = obj.NewInstance ()`
- `vtkSource = obj.SafeDownCast (vtkObject o)`
- `obj.Update ()` - Bring object up-to-date before execution. Update() checks modified time against last execution time, and re-executes object if necessary.
- `obj.UpdateWholeExtent ()` - Like update, but make sure the update extent is the whole extent in the output.
- `obj.UpdateInformation ()` - Updates any global information about the data (like spacing for images)
- `obj.PropagateUpdateExtent (vtkDataObject output)` - WARNING: INTERNAL METHOD - NOT FOR GENERAL USE. THIS METHOD IS PART OF THE PIPELINE UPDATE FUNCTIONALITY. The update extent for this object is propagated up the pipeline. This propagation may early terminate based on the PipelineMTime.
- `obj.TriggerAsynchronousUpdate ()` - WARNING: INTERNAL METHOD - NOT FOR GENERAL USE. THIS METHOD IS PART OF THE PIPELINE UPDATE FUNCTIONALITY. Propagate back up the pipeline for ports and trigger the update on the other side of the port to allow for asynchronous parallel processing in the pipeline. This propagation may early terminate based on the PipelineMTime.
- `obj.UpdateData (vtkDataObject output)` - WARNING: INTERNAL METHOD - NOT FOR GENERAL USE. THIS METHOD IS PART OF THE PIPELINE UPDATE FUNCTIONALITY. Propagate the update back up the pipeline, and perform the actual work of updating on the way down. When the propagate arrives at a port, block and wait for the asynchronous update to finish on the other side. This propagation may early terminate based on the PipelineMTime.
- `obj.ComputeInputUpdateExtents (vtkDataObject output)` - What is the input update extent that is required to produce the desired output? By default, the whole input is always required but this is overridden in many subclasses.
- `obj.SetReleaseDataFlag (int )` - Turn on/off flag to control whether this object's data is released after being used by a source.
- `int = obj.GetReleaseDataFlag ()` - Turn on/off flag to control whether this object's data is released after being used by a source.
- `obj.ReleaseDataFlagOn ()` - Turn on/off flag to control whether this object's data is released after being used by a source.
- `obj.ReleaseDataFlagOff ()` - Turn on/off flag to control whether this object's data is released after being used by a source.
- `int = obj.GetNumberOfOutputs ()` - Return an array with all the inputs of this process object. This is useful for tracing back in the pipeline to construct graphs etc.
- `obj.UnRegisterAllOutputs (void )` - Release/disconnect all outputs of this source. This is intended to be called prior to Delete() if the user is concerned about outputs holding on to the filter/source.
- `int = obj.GetOutputIndex (vtkDataObject out)` - Return what index output the passed in output is, return -1 if it does not match any of the outputs
- `obj.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.