vtkProgrammableSource Class Reference

#include <vtkProgrammableSource.h>

Inheritance diagram for vtkProgrammableSource:
[legend]
Collaboration diagram for vtkProgrammableSource:
[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
vtkProgrammableSource
New ()
static int IsTypeOf (const char *type)
static
vtkProgrammableSource
SafeDownCast (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

typedef vtkDataSetAlgorithm vtkProgrammableSource::Superclass

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]

void* vtkProgrammableSource::ExecuteMethodArg [protected]

Definition at line 99 of file vtkProgrammableSource.h.

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

vtkTimeStamp vtkProgrammableSource::ExecuteTime [protected]

Definition at line 102 of file vtkProgrammableSource.h.

int vtkProgrammableSource::RequestedDataType [protected]

Definition at line 103 of file vtkProgrammableSource.h.


The documentation for this class was generated from the following file:
Generated on Fri Sep 7 17:49:44 2007 for VTK by  doxygen 1.5.3