#include <vtkDataObjectSource.h>
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).
Definition at line 61 of file vtkDataObjectSource.h.
Public Types | |
typedef vtkSource | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
void | SetOutput (vtkDataObject *) |
vtkDataObject * | GetOutput () |
vtkDataObject * | GetOutput (int idx) |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkDataObjectSource * | SafeDownCast (vtkObject *o) |
Protected Member Functions | |
vtkDataObjectSource () | |
~vtkDataObjectSource () | |
virtual int | FillOutputPortInformation (int, vtkInformation *) |
vtkDataObjectSource::vtkDataObjectSource | ( | ) | [protected] |
vtkDataObjectSource::~vtkDataObjectSource | ( | ) | [inline, protected] |
Definition at line 80 of file vtkDataObjectSource.h.
virtual const char* vtkDataObjectSource::GetClassName | ( | ) | [virtual] |
Reimplemented from vtkSource.
static int vtkDataObjectSource::IsTypeOf | ( | const char * | name | ) | [static] |
Return 1 if this class type 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 vtkSource.
virtual int vtkDataObjectSource::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 vtkSource.
static vtkDataObjectSource* vtkDataObjectSource::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Reimplemented from vtkSource.
void vtkDataObjectSource::PrintSelf | ( | ostream & | os, | |
vtkIndent | indent | |||
) | [virtual] |
vtkDataObject* vtkDataObjectSource::GetOutput | ( | ) |
Get the output field of this source.
vtkDataObject* vtkDataObjectSource::GetOutput | ( | int | idx | ) | [inline] |
Get the output field of this source.
Reimplemented from vtkSource.
Definition at line 70 of file vtkDataObjectSource.h.
void vtkDataObjectSource::SetOutput | ( | vtkDataObject * | ) |
virtual int vtkDataObjectSource::FillOutputPortInformation | ( | int | port, | |
vtkInformation * | info | |||
) | [protected, virtual] |
Fill the output port information objects for this algorithm. This is invoked by the first call to GetOutputPortInformation for each port so subclasses can specify what they can handle.
Reimplemented from vtkSource.