Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# 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

Date:
  2002/01/22 15:29:41

Revision:
  1.20

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

Events:
  vtkCommand::StartEvent vtkCommand::EndEvent

Created by:
  - Schroeder, Will

CVS contributions (if > 5%):
  - Schroeder, Will (55%)
  - Martin, Ken (33%)
  - Kelly, Ann (7%)

CVS logs (CVSweb):
  - .`h` (`/Graphics/vtkProgrammableSource.h)`
  - .`cxx` (`/Graphics/vtkProgrammableSource.cxx)`

Examples:
  vtkProgrammableSource (Examples)

Tests:
  vtkProgrammableSource (Tests)

Definition at line 73 of file vtkProgrammableSource.h.

## Public Types

typedef vtkSource | Superclass

## Public Methods

virtual const char * | GetClassName ()
virtual int | IsA (const char *type)
void | SetExecuteMethod (void(*f)(void *), void *arg)
void | SetExecuteMethodArgDelete (void(*f)(void *))
vtkPolyData * | GetPolyDataOutput ()
vtkStructuredPoints * | GetStructuredPointsOutput ()
vtkStructuredGrid * | GetStructuredGridOutput ()
vtkUnstructuredGrid * | GetUnstructuredGridOutput ()
vtkRectilinearGrid * | GetRectilinearGridOutput ()
void | UpdateInformation ()
void | UpdateData (vtkDataObject *output)

## Static Public Methods

vtkProgrammableSource * | New ()
int | IsTypeOf (const char *type)
vtkProgrammableSource * | SafeDownCast (vtkObject *o)

## Protected Methods

| vtkProgrammableSource ()
| ~vtkProgrammableSource ()
void | Execute ()

## Protected Attributes

void(* | ExecuteMethod )(void *)
void(* | ExecuteMethodArgDelete )(void *)
void * | ExecuteMethodArg
vtkTimeStamp | ExecuteTime

## Member Typedef Documentation

typedef vtkSource vtkProgrammableSource::Superclass

| Reimplemented from vtkSource. Definition at line 77 of file vtkProgrammableSource.h.

## Constructor & Destructor Documentation

vtkProgrammableSource::vtkProgrammableSource | ( |  | ) | `[protected]`

vtkProgrammableSource::~vtkProgrammableSource | ( |  | ) | `[protected]`

## Member Function Documentation

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

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

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

| Reimplemented from vtkSource.

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 vtkSource.

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 vtkSource.

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

| Reimplemented from vtkSource.

void vtkProgrammableSource::SetExecuteMethod | ( | void(* | f)(void *),
|  | 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(* | f)(void *) | ) |

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

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.

vtkStructuredPoints* vtkProgrammableSource::GetStructuredPointsOutput | ( |  | ) |

| Get the output as a concrete type.

vtkStructuredGrid* vtkProgrammableSource::GetStructuredGridOutput | ( |  | ) |

| Get the output as a concrete type.

vtkUnstructuredGrid* vtkProgrammableSource::GetUnstructuredGridOutput | ( |  | ) |

| Get the output as a concrete type.

vtkRectilinearGrid* vtkProgrammableSource::GetRectilinearGridOutput | ( |  | ) |

| Get the output as a concrete type.

void vtkProgrammableSource::UpdateInformation | ( |  | ) | `[virtual]`

| Updates any global information about the data (like spacing for images) Reimplemented from vtkSource.

void vtkProgrammableSource::UpdateData | ( | vtkDataObject * | output | ) | `[virtual]`

| Reimplemented from vtkSource.

void vtkProgrammableSource::Execute | ( |  | ) | `[protected, virtual]`

| This method is the old style execute method Reimplemented from vtkSource.

## Member Data Documentation

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

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

void* vtkProgrammableSource::ExecuteMethodArg`[protected]`

| Definition at line 115 of file vtkProgrammableSource.h.

vtkTimeStamp vtkProgrammableSource::ExecuteTime`[protected]`

| Definition at line 117 of file vtkProgrammableSource.h.

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

- Graphics/vtkProgrammableSource.h