vtkProgrammableSource Class Reference

#include <vtkProgrammableSource.h>

Inheritance diagram for vtkProgrammableSource:

Inheritance graph
[legend]
Collaboration diagram for vtkProgrammableSource:

Collaboration graph
[legend]

List of all members.


Detailed Description

generate source dataset via a user-specified function

vtkProgrammableSource is a source object that is programmable by the user. To use this object, you must specify a function that creates the output. It is possible to generate an output dataset of any (concrete) type; it is up to the function to properly initialize and define the output. Typically, you use one of the methods to get a concrete output type (e.g., GetPolyDataOutput() or GetStructuredPointsOutput()), and then manipulate the output in the user-specified function.

Example use of this include writing a function to read a data file or interface to another system. (You might want to do this in favor of deriving a new class.) Another important use of this class is that it allows users of interpreters (e.g., Tcl or Java) the ability to write source objects without having to recompile C++ code or generate new libraries.

See also:
vtkProgrammableFilter vtkProgrammableAttributeDataFilter vtkProgrammableDataObjectSource
Examples:
vtkProgrammableSource (Examples)
Tests:
vtkProgrammableSource (Tests)

Definition at line 54 of file vtkProgrammableSource.h.


Public Types

typedef vtkDataSetAlgorithm Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void SetExecuteMethod (void(*f)(void *), void *arg)
void SetExecuteMethodArgDelete (void(*f)(void *))
void SetRequestInformationMethod (void(*f)(void *))
vtkPolyDataGetPolyDataOutput ()
vtkStructuredPointsGetStructuredPointsOutput ()
vtkStructuredGridGetStructuredGridOutput ()
vtkUnstructuredGridGetUnstructuredGridOutput ()
vtkRectilinearGridGetRectilinearGridOutput ()

Static Public Member Functions

static vtkProgrammableSourceNew ()
static int IsTypeOf (const char *type)
static vtkProgrammableSourceSafeDownCast (vtkObject *o)

Protected Member Functions

 vtkProgrammableSource ()
 ~vtkProgrammableSource ()
virtual int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual int RequestDataObject (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual int RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *)

Protected Attributes

void(* ExecuteMethod )(void *)
void(* ExecuteMethodArgDelete )(void *)
void * ExecuteMethodArg
void(* RequestInformationMethod )(void *)
vtkTimeStamp ExecuteTime
int RequestedDataType

Member Typedef Documentation

Reimplemented from vtkDataSetAlgorithm.

Definition at line 58 of file vtkProgrammableSource.h.


Constructor & Destructor Documentation

vtkProgrammableSource::vtkProgrammableSource (  )  [protected]

vtkProgrammableSource::~vtkProgrammableSource (  )  [protected]


Member Function Documentation

static vtkProgrammableSource* vtkProgrammableSource::New (  )  [static]

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkDataSetAlgorithm.

virtual const char* vtkProgrammableSource::GetClassName (  )  [virtual]

Reimplemented from vtkDataSetAlgorithm.

static int vtkProgrammableSource::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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkDataSetAlgorithm.

virtual int vtkProgrammableSource::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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkDataSetAlgorithm.

static vtkProgrammableSource* vtkProgrammableSource::SafeDownCast ( vtkObject o  )  [static]

Reimplemented from vtkDataSetAlgorithm.

void vtkProgrammableSource::SetExecuteMethod ( void(*)(void *)  f,
void *  arg 
)

Specify the function to use to generate the source data. Note that the function takes a single (void *) argument.

void vtkProgrammableSource::SetExecuteMethodArgDelete ( void(*)(void *)  f  ) 

Set the arg delete method. This is used to free user memory.

void vtkProgrammableSource::SetRequestInformationMethod ( void(*)(void *)  f  ) 

Specify the function to use to fill in information about the source data.

vtkPolyData* vtkProgrammableSource::GetPolyDataOutput (  ) 

Get the output as a concrete type. This method is typically used by the writer of the source function to get the output as a particular type (i.e., it essentially does type casting). It is the users responsibility to know the correct type of the output data.

Reimplemented from vtkDataSetAlgorithm.

vtkStructuredPoints* vtkProgrammableSource::GetStructuredPointsOutput (  ) 

Get the output as a concrete type.

Reimplemented from vtkDataSetAlgorithm.

vtkStructuredGrid* vtkProgrammableSource::GetStructuredGridOutput (  ) 

Get the output as a concrete type.

Reimplemented from vtkDataSetAlgorithm.

vtkUnstructuredGrid* vtkProgrammableSource::GetUnstructuredGridOutput (  ) 

Get the output as a concrete type.

Reimplemented from vtkDataSetAlgorithm.

vtkRectilinearGrid* vtkProgrammableSource::GetRectilinearGridOutput (  ) 

Get the output as a concrete type.

Reimplemented from vtkDataSetAlgorithm.

virtual int vtkProgrammableSource::RequestData ( vtkInformation ,
vtkInformationVector **  ,
vtkInformationVector  
) [protected, virtual]

This is called by the superclass. This is the method you should override.

Reimplemented from vtkDataSetAlgorithm.

virtual int vtkProgrammableSource::RequestDataObject ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
) [protected, virtual]

This is called by the superclass. This is the method you should override.

Reimplemented from vtkDataSetAlgorithm.

virtual int vtkProgrammableSource::RequestInformation ( vtkInformation ,
vtkInformationVector **  ,
vtkInformationVector  
) [protected, virtual]

This is called by the superclass. This is the method you should override.

Reimplemented from vtkDataSetAlgorithm.


Member Data Documentation

void(* vtkProgrammableSource::ExecuteMethod)(void *) [protected]

void(* vtkProgrammableSource::ExecuteMethodArgDelete)(void *) [protected]

Definition at line 99 of file vtkProgrammableSource.h.

Definition at line 102 of file vtkProgrammableSource.h.

Definition at line 103 of file vtkProgrammableSource.h.


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

Generated on Fri Oct 10 09:41:25 2008 for VTK by  doxygen 1.5.6