VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
vtkExecutive Class Referenceabstract

Superclass for all pipeline executives in VTK. More...

#include <vtkExecutive.h>

Inheritance diagram for vtkExecutive:
[legend]
Collaboration diagram for vtkExecutive:
[legend]

Public Types

typedef vtkObject Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkExecutiveNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
vtkAlgorithmGetAlgorithm ()
 
virtual int UpdateInformation ()
 
int GetNumberOfInputConnections (int port)
 
virtual vtkInformation * GetOutputInformation (int port)
 
vtkInformationVector * GetOutputInformation ()
 
vtkInformation * GetInputInformation (int port, int connection)
 
vtkInformationVector * GetInputInformation (int port)
 
vtkInformationVector ** GetInputInformation ()
 
vtkExecutiveGetInputExecutive (int port, int connection)
 
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 ()
 
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)
 
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 (vtkObjectBase *o)
 
static
vtkInformationExecutivePortKey
PRODUCER ()
 
static
vtkInformationExecutivePortVectorKey
CONSUMERS ()
 
static vtkInformationIntegerKey * FROM_OUTPUT_PORT ()
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 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
 
vtkInformationVector * SharedOutputInformation
 

Friends

class vtkAlgorithmToExecutiveFriendship
 
enum  { RequestUpstream, RequestDownstream }
 
enum  { BeforeForward, AfterForward }
 
static vtkInformationIntegerKey * ALGORITHM_BEFORE_FORWARD ()
 
static vtkInformationIntegerKey * ALGORITHM_AFTER_FORWARD ()
 
static vtkInformationIntegerKey * ALGORITHM_DIRECTION ()
 
static vtkInformationIntegerKey * FORWARD_DIRECTION ()
 
static vtkInformationKeyVectorKey * KEYS_TO_COPY ()
 

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.

Tests:
vtkExecutive (Tests)

Definition at line 48 of file vtkExecutive.h.

Member Typedef Documentation

typedef vtkObject vtkExecutive::Superclass

Definition at line 51 of file vtkExecutive.h.

Member Enumeration Documentation

anonymous enum

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

Enumerator
RequestUpstream 
RequestDownstream 

Definition at line 177 of file vtkExecutive.h.

anonymous enum

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

Enumerator
BeforeForward 
AfterForward 

Definition at line 178 of file vtkExecutive.h.

Constructor & Destructor Documentation

vtkExecutive::vtkExecutive ( )
protected
vtkExecutive::~vtkExecutive ( )
protected

Member Function Documentation

static int vtkExecutive::IsTypeOf ( const char *  type)
static
virtual int vtkExecutive::IsA ( const char *  type)
virtual
static vtkExecutive* vtkExecutive::SafeDownCast ( vtkObjectBase *  o)
static
virtual vtkObjectBase* vtkExecutive::NewInstanceInternal ( ) const
protectedvirtual
vtkExecutive* vtkExecutive::NewInstance ( ) const
void vtkExecutive::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
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 fulfill pipeline requests.

Reimplemented in vtkThreadedStreamingPipeline, vtkStreamingDemandDrivenPipeline, and vtkDemandDrivenPipeline.

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

virtual int vtkExecutive::UpdateInformation ( )
inlinevirtual

Bring the output information up to date.

Reimplemented in vtkDemandDrivenPipeline.

Definition at line 84 of file vtkExecutive.h.

virtual int vtkExecutive::Update ( )
virtual

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

Reimplemented in vtkDemandDrivenPipeline, vtkStreamingDemandDrivenPipeline, and vtkCachedStreamingDemandDrivenPipeline.

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 vtkDemandDrivenPipeline, vtkStreamingDemandDrivenPipeline, and vtkCachedStreamingDemandDrivenPipeline.

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/Set the data object for an output port of the algorithm.

virtual void vtkExecutive::SetOutputData ( int  port,
vtkDataObject  
)
virtual

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

virtual vtkDataObject* vtkExecutive::GetInputData ( int  port,
int  connection 
)
virtual

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

virtual vtkDataObject* vtkExecutive::GetInputData ( int  port,
int  connection,
vtkInformationVector **  inInfoVec 
)
virtual

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

void vtkExecutive::SetSharedInputInformation ( vtkInformationVector **  inInfoVec)

Get the output port that produces the given data object. Works only if the data was producer by this executive's algorithm. virtual vtkAlgorithmOutput* GetProducerPort(vtkDataObject*);

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. Works only if the data was producer by this executive's algorithm. virtual vtkAlgorithmOutput* GetProducerPort(vtkDataObject*);

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.

virtual void vtkExecutive::Register ( vtkObjectBase *  o)
virtual

Participate in garbage collection.

virtual void vtkExecutive::UnRegister ( vtkObjectBase *  o)
virtual

Participate in garbage collection.

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

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

static vtkInformationIntegerKey* vtkExecutive::ALGORITHM_DIRECTION ( )
static

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

static vtkInformationIntegerKey* vtkExecutive::FORWARD_DIRECTION ( )
static

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

static vtkInformationKeyVectorKey* vtkExecutive::KEYS_TO_COPY ( )
static

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

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)
protectedvirtual
virtual int vtkExecutive::ForwardUpstream ( vtkInformation *  request)
protectedvirtual
virtual void vtkExecutive::CopyDefaultInformation ( vtkInformation *  request,
int  direction,
vtkInformationVector **  inInfo,
vtkInformationVector *  outInfo 
)
protectedvirtual
virtual void vtkExecutive::ResetPipelineInformation ( int  port,
vtkInformation *   
)
protectedpure virtual
virtual int vtkExecutive::UpdateDataObject ( )
protectedpure virtual

Implemented in vtkDemandDrivenPipeline.

virtual void vtkExecutive::ReportReferences ( vtkGarbageCollector *  )
protectedvirtual
virtual void vtkExecutive::SetAlgorithm ( vtkAlgorithm algorithm)
protectedvirtual

Friends And Related Function Documentation

friend class vtkAlgorithmToExecutiveFriendship
friend

Definition at line 246 of file vtkExecutive.h.

Member Data Documentation

vtkAlgorithm* vtkExecutive::Algorithm
protected

Definition at line 227 of file vtkExecutive.h.

int vtkExecutive::InAlgorithm
protected

Definition at line 230 of file vtkExecutive.h.

vtkInformationVector** vtkExecutive::SharedInputInformation
protected

Definition at line 235 of file vtkExecutive.h.

vtkInformationVector* vtkExecutive::SharedOutputInformation
protected

Definition at line 236 of file vtkExecutive.h.


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