Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

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

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 *  type  )  [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 *  type  )  [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 ,
vtkInformationVector **  ,
vtkInformationVector
[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 Tue Jan 22 00:11:05 2008 for VTK by  doxygen 1.4.3-20050530