VTK
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

enum  { RequestUpstream, RequestDownstream }
 
enum  { BeforeForward, AfterForward }
 
typedef vtkObject Superclass
 

Public Member Functions

virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class. More...
 
vtkExecutiveNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses. More...
 
vtkAlgorithmGetAlgorithm ()
 Get the algorithm to which this executive has been assigned. More...
 
virtual int ProcessRequest (vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo)
 Generalized interface for asking the executive to fulfill pipeline requests. More...
 
virtual int ComputePipelineMTime (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int requestFromOutputPort, vtkMTimeType *mtime)
 A special version of ProcessRequest meant specifically for the pipeline modified time request. More...
 
virtual int UpdateInformation ()
 Bring the output information up to date. More...
 
int GetNumberOfInputConnections (int port)
 Get the number of input connections on the given port. More...
 
virtual vtkInformationGetOutputInformation (int port)
 Get the pipeline information object for the given output port. More...
 
vtkInformationVectorGetOutputInformation ()
 Get the pipeline information object for all output ports. More...
 
vtkInformationGetInputInformation (int port, int connection)
 Get the pipeline information for the given input connection. More...
 
vtkInformationVectorGetInputInformation (int port)
 Get the pipeline information vectors for the given input port. More...
 
vtkInformationVector ** GetInputInformation ()
 Get the pipeline information vectors for all inputs. More...
 
vtkExecutiveGetInputExecutive (int port, int connection)
 Get the executive managing the given input connection. More...
 
virtual int CallAlgorithm (vtkInformation *request, int direction, vtkInformationVector **inInfo, vtkInformationVector *outInfo)
 An API to CallAlgorithm that allows you to pass in the info objects to be used. More...
 
virtual int Update ()
 Bring the algorithm's outputs up-to-date. More...
 
virtual int Update (int port)
 Bring the algorithm's outputs up-to-date. More...
 
int GetNumberOfInputPorts ()
 Get the number of input/output ports for the algorithm associated with this executive. More...
 
int GetNumberOfOutputPorts ()
 Get the number of input/output ports for the algorithm associated with this executive. More...
 
virtual vtkDataObjectGetOutputData (int port)
 Get/Set the data object for an output port of the algorithm. More...
 
virtual void SetOutputData (int port, vtkDataObject *, vtkInformation *info)
 Get/Set the data object for an output port of the algorithm. More...
 
virtual void SetOutputData (int port, vtkDataObject *)
 Get/Set the data object for an output port of the algorithm. More...
 
virtual vtkDataObjectGetInputData (int port, int connection)
 Get the data object for an input port of the algorithm. More...
 
virtual vtkDataObjectGetInputData (int port, int connection, vtkInformationVector **inInfoVec)
 Get the data object for an input port of the algorithm. More...
 
void SetSharedInputInformation (vtkInformationVector **inInfoVec)
 Get the output port that produces the given data object. More...
 
void SetSharedOutputInformation (vtkInformationVector *outInfoVec)
 Get the output port that produces the given data object. More...
 
void Register (vtkObjectBase *o) override
 Participate in garbage collection. More...
 
void UnRegister (vtkObjectBase *o) override
 Participate in garbage collection. More...
 
- Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 Turn debugging output on. More...
 
virtual void DebugOff ()
 Turn debugging output off. More...
 
bool GetDebug ()
 Get the value of the debug flag. More...
 
void SetDebug (bool debugFlag)
 Set the value of the debug flag. More...
 
virtual void Modified ()
 Update the modification time for this object. More...
 
virtual vtkMTimeType GetMTime ()
 Return this object's modified time. More...
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
vtkTypeBool HasObserver (unsigned long event)
 
vtkTypeBool HasObserver (const char *event)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkCommandGetCommand (unsigned long tag)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObserver (vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObservers (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObservers (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkTypeBool HasObserver (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkTypeBool HasObserver (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Allow user to set the AbortFlagOn() with the return value of the callback method. More...
 
int InvokeEvent (unsigned long event, void *callData)
 This method invokes an event and return whether the event was aborted or not. More...
 
int InvokeEvent (const char *event, void *callData)
 This method invokes an event and return whether the event was aborted or not. More...
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 Return the class name as a string. More...
 
virtual void Delete ()
 Delete a VTK object. More...
 
virtual void FastDelete ()
 Delete a reference to this object. More...
 
void InitializeObjectBase ()
 
void Print (ostream &os)
 Print an object to an ostream. More...
 
int GetReferenceCount ()
 Return the current reference count of this object. More...
 
void SetReferenceCount (int)
 Sets the reference count. More...
 
void PrintRevisions (ostream &)
 Legacy. More...
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 

Static Public Member Functions

static vtkTypeBool IsTypeOf (const char *type)
 
static vtkExecutiveSafeDownCast (vtkObjectBase *o)
 
static vtkInformationExecutivePortKeyPRODUCER ()
 Information key to store the executive/port number producing an information object. More...
 
static vtkInformationExecutivePortVectorKeyCONSUMERS ()
 Information key to store the executive/port number pairs consuming an information object. More...
 
static vtkInformationIntegerKeyFROM_OUTPUT_PORT ()
 Information key to store the output port number from which a request is made. More...
 
static vtkInformationIntegerKeyALGORITHM_BEFORE_FORWARD ()
 Keys to program vtkExecutive::ProcessRequest with the default behavior for unknown requests. More...
 
static vtkInformationIntegerKeyALGORITHM_AFTER_FORWARD ()
 Keys to program vtkExecutive::ProcessRequest with the default behavior for unknown requests. More...
 
static vtkInformationIntegerKeyALGORITHM_DIRECTION ()
 Keys to program vtkExecutive::ProcessRequest with the default behavior for unknown requests. More...
 
static vtkInformationIntegerKeyFORWARD_DIRECTION ()
 Keys to program vtkExecutive::ProcessRequest with the default behavior for unknown requests. More...
 
static vtkInformationKeyVectorKeyKEYS_TO_COPY ()
 Keys to program vtkExecutive::ProcessRequest with the default behavior for unknown requests. More...
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 
static void BreakOnError ()
 This method is called when vtkErrorMacro executes. More...
 
static void SetGlobalWarningDisplay (int val)
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOn ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOff ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static int GetGlobalWarningDisplay ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
- Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool IsTypeOf (const char *name)
 Return 1 if this class type is the same type of (or a subclass of) the named class. More...
 
static vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkExecutive ()
 
 ~vtkExecutive () override
 
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
 
void ReportReferences (vtkGarbageCollector *) override
 
virtual void SetAlgorithm (vtkAlgorithm *algorithm)
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
 ~vtkObject () override
 
void RegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr)
 These methods allow a command to exclusively grab all events. More...
 
void InternalReleaseFocus ()
 These methods allow a command to exclusively grab all events. More...
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

vtkAlgorithmAlgorithm
 
int InAlgorithm
 
vtkInformationVector ** SharedInputInformation
 
vtkInformationVectorSharedOutputInformation
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Friends

class vtkAlgorithmToExecutiveFriendship
 

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 49 of file vtkExecutive.h.

Member Typedef Documentation

Definition at line 52 of file vtkExecutive.h.

Member Enumeration Documentation

anonymous enum
Enumerator
RequestUpstream 
RequestDownstream 

Definition at line 221 of file vtkExecutive.h.

anonymous enum
Enumerator
BeforeForward 
AfterForward 

Definition at line 222 of file vtkExecutive.h.

Constructor & Destructor Documentation

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

Member Function Documentation

static vtkTypeBool vtkExecutive::IsTypeOf ( const char *  type)
static
virtual vtkTypeBool vtkExecutive::IsA ( const char *  name)
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 vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObjectBase.

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

static vtkExecutive* vtkExecutive::SafeDownCast ( vtkObjectBase o)
static
virtual vtkObjectBase* vtkExecutive::NewInstanceInternal ( ) const
protectedvirtual
vtkExecutive* vtkExecutive::NewInstance ( ) const
void vtkExecutive::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
overridevirtual

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 vtkStreamingDemandDrivenPipeline, vtkThreadedCompositeDataPipeline, and vtkReaderExecutive.

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

virtual int vtkExecutive::ComputePipelineMTime ( vtkInformation request,
vtkInformationVector **  inInfoVec,
vtkInformationVector outInfoVec,
int  requestFromOutputPort,
vtkMTimeType 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 nullptr for this method. It also does not contain a request identification 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 90 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, 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 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/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.

void vtkExecutive::Register ( vtkObjectBase o)
overridevirtual

Participate in garbage collection.

Reimplemented from vtkObjectBase.

void vtkExecutive::UnRegister ( vtkObjectBase o)
overridevirtual

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

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.

Reimplemented in vtkThreadedCompositeDataPipeline, and vtkReaderExecutive.

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

Reimplemented in vtkCompositeDataPipeline.

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.

void vtkExecutive::ReportReferences ( vtkGarbageCollector )
overrideprotectedvirtual

Reimplemented from vtkObjectBase.

virtual void vtkExecutive::SetAlgorithm ( vtkAlgorithm algorithm)
protectedvirtual

Friends And Related Function Documentation

friend class vtkAlgorithmToExecutiveFriendship
friend

Definition at line 287 of file vtkExecutive.h.

Member Data Documentation

vtkAlgorithm* vtkExecutive::Algorithm
protected

Definition at line 269 of file vtkExecutive.h.

int vtkExecutive::InAlgorithm
protected

Definition at line 272 of file vtkExecutive.h.

vtkInformationVector** vtkExecutive::SharedInputInformation
protected

Definition at line 277 of file vtkExecutive.h.

vtkInformationVector* vtkExecutive::SharedOutputInformation
protected

Definition at line 278 of file vtkExecutive.h.


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