Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | 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
Events:
vtkCommand::StartEvent vtkCommand::EndEvent
Created by:
  • Schroeder, Will
CVS contributions (if > 5%):
  • Schroeder, Will (48%)
  • Martin, Ken (29%)
  • Avila, Lisa (11%)
  • Kelly, Ann (6%)
CVS logs (CVSweb):
  • .cxx (/Graphics/vtkProgrammableSource.cxx)
  • .h (/Graphics/vtkProgrammableSource.h)
Examples:
vtkProgrammableSource (Examples)
Tests:
vtkProgrammableSource (Tests)

Definition at line 70 of file vtkProgrammableSource.h.

Public Types

typedef vtkSource 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 *))
vtkPolyDataGetPolyDataOutput ()
vtkStructuredPointsGetStructuredPointsOutput ()
vtkStructuredGridGetStructuredGridOutput ()
vtkUnstructuredGridGetUnstructuredGridOutput ()
vtkRectilinearGridGetRectilinearGridOutput ()
void UpdateInformation ()
void UpdateData (vtkDataObject *output)

Static Public Member Functions

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

Protected Member Functions

 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 74 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 vtkAlgorithm.

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 112 of file vtkProgrammableSource.h.

vtkTimeStamp vtkProgrammableSource::ExecuteTime [protected]
 

Definition at line 114 of file vtkProgrammableSource.h.


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