FreeMat

- Main Page
- Related Pages

vtkDataObjectSource

Section: Visualization Toolkit Filtering Classes

# Usage

vtkDataObjectSource is an abstract object that specifies behavior and interface of field source objects. Field source objects are source objects that create vtkFieldData (field data) on output.

Concrete subclasses of vtkDataObjectSource 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.

vtkDataObjectSource provides a mechanism for invoking the methods StartMethod() and EndMethod() before and after object execution (via Execute()). These are convenience methods you can use for any purpose (e.g., debugging info, highlighting/notifying user interface, etc.) These methods accept a single void* pointer that can be used to send data to the methods. It is also possible to specify a function to delete the argument via StartMethodArgDelete and EndMethodArgDelete.

Another method, ProgressMethod() can be specified. Some filters invoke this method periodically during their execution. The use is similar to that of StartMethod() and EndMethod().

An important feature of subclasses of vtkDataObjectSource 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 vtkDataObjectSource, simply invoke its constructor as follows

      obj = vtkDataObjectSource

# Methods

The class vtkDataObjectSource 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 vtkDataObjectSource class.

- `string = obj.GetClassName ()`
- `int = obj.IsA (string name)`
- `vtkDataObjectSource = obj.NewInstance ()`
- `vtkDataObjectSource = obj.SafeDownCast (vtkObject o)`
- `vtkDataObject = obj.GetOutput ()` - Get the output field of this source.
- `vtkDataObject = obj.GetOutput (int idx)`
- `obj.SetOutput (vtkDataObject )`