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

vtkExecutive Class Reference

#include <vtkExecutive.h>

Inheritance diagram for vtkExecutive:

Inheritance graph
[legend]
Collaboration diagram for vtkExecutive:

Collaboration graph
[legend]
List of all members.

Detailed Description

Superclass for all pipeline executives in VTK.

vtkExecutive is the superclass for all pipeline executives in VTK. A VTK executive is responsible for controlling one instance of vtkAlgorithm. A pipeline consists of one or more executives that control data flow. Every reader, source, writer, or data processing algorithm in the pipeline is implemented in an instance of vtkAlgorithm.

Definition at line 44 of file vtkExecutive.h.
enum  { RequestUpstream, RequestDownstream }
enum  { BeforeForward, AfterForward }
static vtkInformationIntegerKeyFROM_OUTPUT_PORT ()
static vtkInformationIntegerKeyALGORITHM_BEFORE_FORWARD ()
static vtkInformationIntegerKeyALGORITHM_AFTER_FORWARD ()
static vtkInformationIntegerKeyALGORITHM_DIRECTION ()
static vtkInformationIntegerKeyFORWARD_DIRECTION ()
static vtkInformationKeyVectorKeyKEYS_TO_COPY ()

Public Types

typedef vtkObject Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
int GetNumberOfInputConnections (int port)
virtual vtkInformationGetOutputInformation (int port)
vtkInformationVectorGetOutputInformation ()
vtkInformationGetInputInformation (int port, int connection)
vtkInformationVectorGetInputInformation (int port)
vtkInformationVector ** GetInputInformation ()
vtkAlgorithmGetAlgorithm ()
virtual int ProcessRequest (vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo)
virtual int ComputePipelineMTime (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int requestFromOutputPort, unsigned long *mtime)
virtual int Update ()
virtual int Update (int port)
int GetNumberOfInputPorts ()
int GetNumberOfOutputPorts ()
vtkExecutiveGetInputExecutive (int port, int connection)
virtual vtkDataObjectGetOutputData (int port)
virtual void SetOutputData (int port, vtkDataObject *, vtkInformation *info)
virtual void SetOutputData (int port, vtkDataObject *)
virtual vtkDataObjectGetInputData (int port, int connection)
virtual vtkDataObjectGetInputData (int port, int connection, vtkInformationVector **inInfoVec)
virtual vtkAlgorithmOutputGetProducerPort (vtkDataObject *)
void SetSharedInputInformation (vtkInformationVector **inInfoVec)
void SetSharedOutputInformation (vtkInformationVector *outInfoVec)
virtual void Register (vtkObjectBase *o)
virtual void UnRegister (vtkObjectBase *o)
virtual int CallAlgorithm (vtkInformation *request, int direction, vtkInformationVector **inInfo, vtkInformationVector *outInfo)

Static Public Member Functions

static int IsTypeOf (const char *type)
static vtkExecutiveSafeDownCast (vtkObject *o)
static vtkInformationExecutivePortKeyPRODUCER ()
static vtkInformationExecutivePortVectorKeyCONSUMERS ()

Protected Member Functions

 vtkExecutive ()
 ~vtkExecutive ()
int InputPortIndexInRange (int port, const char *action)
int OutputPortIndexInRange (int port, const char *action)
int CheckAlgorithm (const char *method, vtkInformation *request)
virtual int ForwardDownstream (vtkInformation *request)
virtual int ForwardUpstream (vtkInformation *request)
virtual void CopyDefaultInformation (vtkInformation *request, int direction, vtkInformationVector **inInfo, vtkInformationVector *outInfo)
virtual void ResetPipelineInformation (int port, vtkInformation *)=0
virtual int UpdateDataObject ()=0
virtual void ReportReferences (vtkGarbageCollector *)
virtual void SetAlgorithm (vtkAlgorithm *algorithm)

Protected Attributes

vtkAlgorithmAlgorithm
int InAlgorithm
vtkInformationVector ** SharedInputInformation
vtkInformationVectorSharedOutputInformation

Friends

class vtkAlgorithmToExecutiveFriendship


Member Typedef Documentation

typedef vtkObject vtkExecutive::Superclass
 

Reimplemented from vtkObject.

Reimplemented in vtkCachedStreamingDemandDrivenPipeline, vtkCompositeDataPipeline, vtkDemandDrivenPipeline, vtkStreamingDemandDrivenPipeline, and vtkImageImportExecutive.

Definition at line 47 of file vtkExecutive.h.


Member Enumeration Documentation

anonymous enum
 

Enumerator:
RequestUpstream 
RequestDownstream 

Definition at line 169 of file vtkExecutive.h.

anonymous enum
 

Enumerator:
BeforeForward 
AfterForward 

Definition at line 170 of file vtkExecutive.h.


Constructor & Destructor Documentation

vtkExecutive::vtkExecutive  )  [protected]
 

vtkExecutive::~vtkExecutive  )  [protected]
 


Member Function Documentation

virtual const char* vtkExecutive::GetClassName  )  [virtual]
 

Reimplemented from vtkObject.

Reimplemented in vtkCachedStreamingDemandDrivenPipeline, vtkCompositeDataPipeline, vtkDemandDrivenPipeline, vtkStreamingDemandDrivenPipeline, and vtkImageImportExecutive.

static int vtkExecutive::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 vtkObject.

Reimplemented in vtkCachedStreamingDemandDrivenPipeline, vtkCompositeDataPipeline, vtkDemandDrivenPipeline, vtkStreamingDemandDrivenPipeline, and vtkImageImportExecutive.

virtual int vtkExecutive::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 vtkObject.

Reimplemented in vtkCachedStreamingDemandDrivenPipeline, vtkCompositeDataPipeline, vtkDemandDrivenPipeline, vtkStreamingDemandDrivenPipeline, and vtkImageImportExecutive.

static vtkExecutive* vtkExecutive::SafeDownCast vtkObject o  )  [static]
 

Reimplemented from vtkObject.

Reimplemented in vtkCachedStreamingDemandDrivenPipeline, vtkCompositeDataPipeline, vtkDemandDrivenPipeline, vtkStreamingDemandDrivenPipeline, and vtkImageImportExecutive.

void vtkExecutive::PrintSelf ostream &  os,
vtkIndent  indent
[virtual]
 

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkObject.

Reimplemented in vtkCachedStreamingDemandDrivenPipeline, vtkCompositeDataPipeline, vtkDemandDrivenPipeline, and vtkStreamingDemandDrivenPipeline.

vtkAlgorithm* vtkExecutive::GetAlgorithm  ) 
 

Get the algorithm to which this executive has been assigned.

virtual int vtkExecutive::ProcessRequest vtkInformation request,
vtkInformationVector **  inInfo,
vtkInformationVector outInfo
[virtual]
 

Generalized interface for asking the executive to fullfill pipeline requests.

Reimplemented in vtkCompositeDataPipeline, vtkDemandDrivenPipeline, vtkStreamingDemandDrivenPipeline, and vtkImageImportExecutive.

virtual int vtkExecutive::ComputePipelineMTime vtkInformation request,
vtkInformationVector **  inInfoVec,
vtkInformationVector outInfoVec,
int  requestFromOutputPort,
unsigned long *  mtime
[virtual]
 

A special version of ProcessRequest meant specifically for the pipeline modified time request. This is an optimization since the request is called so often and it travels the full length of the pipeline. We augment the signature with method arguments containing the common information, specifically the output port through which the request was made and the resulting modified time. Note that unlike ProcessRequest the request information object may be NULL for this method. It also does not contain a request identifcation key because the request is known from the method name.

Reimplemented in vtkCompositeDataPipeline, and vtkDemandDrivenPipeline.

virtual int vtkExecutive::Update  )  [virtual]
 

Bring the algorithm's outputs up-to-date. Returns 1 for success and 0 for failure.

Reimplemented in vtkCachedStreamingDemandDrivenPipeline, vtkDemandDrivenPipeline, and vtkStreamingDemandDrivenPipeline.

virtual int vtkExecutive::Update int  port  )  [virtual]
 

Bring the algorithm's outputs up-to-date. Returns 1 for success and 0 for failure.

Reimplemented in vtkCachedStreamingDemandDrivenPipeline, vtkDemandDrivenPipeline, and vtkStreamingDemandDrivenPipeline.

int vtkExecutive::GetNumberOfInputPorts  ) 
 

Get the number of input/output ports for the algorithm associated with this executive. Returns 0 if no algorithm is set.

int vtkExecutive::GetNumberOfOutputPorts  ) 
 

Get the number of input/output ports for the algorithm associated with this executive. Returns 0 if no algorithm is set.

int vtkExecutive::GetNumberOfInputConnections int  port  ) 
 

Get the number of input connections on the given port.

virtual vtkInformation* vtkExecutive::GetOutputInformation int  port  )  [virtual]
 

Get the pipeline information object for the given output port.

vtkInformationVector* vtkExecutive::GetOutputInformation  ) 
 

Get the pipeline information object for all output ports.

vtkInformation* vtkExecutive::GetInputInformation int  port,
int  connection
 

Get the pipeline information for the given input connection.

vtkInformationVector* vtkExecutive::GetInputInformation int  port  ) 
 

Get the pipeline information vectors for the given input port.

vtkInformationVector** vtkExecutive::GetInputInformation  ) 
 

Get the pipeline information vectors for all inputs

vtkExecutive* vtkExecutive::GetInputExecutive int  port,
int  connection
 

Get the executive managing the given input connection.

virtual vtkDataObject* vtkExecutive::GetOutputData int  port  )  [virtual]
 

Get/Set the data object for an output port of the algorithm.

virtual void vtkExecutive::SetOutputData int  port,
vtkDataObject ,
vtkInformation info
[virtual]
 

Get the executive managing the given input connection.

virtual void vtkExecutive::SetOutputData int  port,
vtkDataObject
[virtual]
 

Get the executive managing the given input connection.

virtual vtkDataObject* vtkExecutive::GetInputData int  port,
int  connection
[virtual]
 

Get the data object for an output port of the algorithm.

virtual vtkDataObject* vtkExecutive::GetInputData int  port,
int  connection,
vtkInformationVector **  inInfoVec
[virtual]
 

Get the data object for an output port of the algorithm.

virtual vtkAlgorithmOutput* vtkExecutive::GetProducerPort vtkDataObject  )  [virtual]
 

Get the output port that produces the given data object.

void vtkExecutive::SetSharedInputInformation vtkInformationVector **  inInfoVec  ) 
 

Set a pointer to an outside instance of input or output information vectors. No references are held to the given vectors, and setting this does not change the executive object modification time. This is a preliminary interface to use in implementing filters with internal pipelines, and may change without notice when a future interface is created.

void vtkExecutive::SetSharedOutputInformation vtkInformationVector outInfoVec  ) 
 

Get the output port that produces the given data object.

virtual void vtkExecutive::Register vtkObjectBase o  )  [virtual]
 

Participate in garbage collection.

Reimplemented from vtkObjectBase.

virtual void vtkExecutive::UnRegister vtkObjectBase o  )  [virtual]
 

Participate in garbage collection.

Reimplemented from vtkObjectBase.

static vtkInformationExecutivePortKey* vtkExecutive::PRODUCER  )  [static]
 

Information key to store the executive/port number producing an information object.

static vtkInformationExecutivePortVectorKey* vtkExecutive::CONSUMERS  )  [static]
 

Information key to store the executive/port number pairs consuming an information object.

static vtkInformationIntegerKey* vtkExecutive::FROM_OUTPUT_PORT  )  [static]
 

Information key to store the output port number from which a request is made.

static vtkInformationIntegerKey* vtkExecutive::ALGORITHM_BEFORE_FORWARD  )  [static]
 

Keys to program vtkExecutive::ProcessRequest with the default behavior for unknown requests.

static vtkInformationIntegerKey* vtkExecutive::ALGORITHM_AFTER_FORWARD  )  [static]
 

static vtkInformationIntegerKey* vtkExecutive::ALGORITHM_DIRECTION  )  [static]
 

static vtkInformationIntegerKey* vtkExecutive::FORWARD_DIRECTION  )  [static]
 

static vtkInformationKeyVectorKey* vtkExecutive::KEYS_TO_COPY  )  [static]
 

virtual int vtkExecutive::CallAlgorithm vtkInformation request,
int  direction,
vtkInformationVector **  inInfo,
vtkInformationVector outInfo
[virtual]
 

An API to CallAlgorithm that allows you to pass in the info objects to be used

int vtkExecutive::InputPortIndexInRange int  port,
const char *  action
[protected]
 

int vtkExecutive::OutputPortIndexInRange int  port,
const char *  action
[protected]
 

int vtkExecutive::CheckAlgorithm const char *  method,
vtkInformation request
[protected]
 

virtual int vtkExecutive::ForwardDownstream vtkInformation request  )  [protected, virtual]
 

virtual int vtkExecutive::ForwardUpstream vtkInformation request  )  [protected, virtual]
 

Reimplemented in vtkCompositeDataPipeline.

virtual void vtkExecutive::CopyDefaultInformation vtkInformation request,
int  direction,
vtkInformationVector **  inInfo,
vtkInformationVector outInfo
[protected, virtual]
 

Reimplemented in vtkCompositeDataPipeline, and vtkStreamingDemandDrivenPipeline.

virtual void vtkExecutive::ResetPipelineInformation int  port,
vtkInformation
[protected, pure virtual]
 

Implemented in vtkDemandDrivenPipeline, and vtkStreamingDemandDrivenPipeline.

virtual int vtkExecutive::UpdateDataObject  )  [protected, pure virtual]
 

Implemented in vtkDemandDrivenPipeline.

virtual void vtkExecutive::ReportReferences vtkGarbageCollector  )  [protected, virtual]
 

Reimplemented from vtkObjectBase.

virtual void vtkExecutive::SetAlgorithm vtkAlgorithm algorithm  )  [protected, virtual]
 


Friends And Related Function Documentation

friend class vtkAlgorithmToExecutiveFriendship [friend]
 

Definition at line 238 of file vtkExecutive.h.


Member Data Documentation

vtkAlgorithm* vtkExecutive::Algorithm [protected]
 

Definition at line 219 of file vtkExecutive.h.

int vtkExecutive::InAlgorithm [protected]
 

Definition at line 222 of file vtkExecutive.h.

vtkInformationVector** vtkExecutive::SharedInputInformation [protected]
 

Definition at line 227 of file vtkExecutive.h.

vtkInformationVector* vtkExecutive::SharedOutputInformation [protected]
 

Definition at line 228 of file vtkExecutive.h.


The documentation for this class was generated from the following file:
Generated on Mon Jan 21 23:42:40 2008 for VTK by  doxygen 1.4.3-20050530