VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
vtkDemandDrivenPipeline Class Reference

Executive supporting on-demand execution. More...

#include <vtkDemandDrivenPipeline.h>

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

Public Types

typedef vtkExecutive Superclass
 
- Public Types inherited from vtkExecutive
typedef vtkObject Superclass
 
enum  { RequestUpstream, RequestDownstream }
 
enum  { BeforeForward, AfterForward }
 
- Public Types inherited from vtkObject
typedef vtkObjectBase Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkDemandDrivenPipeline * NewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
virtual int SetReleaseDataFlag (int port, int n)
 
virtual int GetReleaseDataFlag (int port)
 
virtual int UpdatePipelineMTime ()
 
virtual int UpdateDataObject ()
 
virtual int UpdateInformation ()
 
virtual int UpdateData (int outputPort)
 
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)
 
virtual unsigned long GetPipelineMTime ()
 
- Public Member Functions inherited from vtkExecutive
vtkExecutive * NewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
vtkAlgorithm * GetAlgorithm ()
 
int GetNumberOfInputConnections (int port)
 
virtual vtkInformation * GetOutputInformation (int port)
 
vtkInformationVector * GetOutputInformation ()
 
vtkInformation * GetInputInformation (int port, int connection)
 
vtkInformationVector * GetInputInformation (int port)
 
vtkInformationVector ** GetInputInformation ()
 
vtkExecutive * GetInputExecutive (int port, int connection)
 
int GetNumberOfInputPorts ()
 
int GetNumberOfOutputPorts ()
 
virtual vtkDataObject * GetOutputData (int port)
 
virtual void SetOutputData (int port, vtkDataObject *, vtkInformation *info)
 
virtual void SetOutputData (int port, vtkDataObject *)
 
virtual vtkDataObject * GetInputData (int port, int connection)
 
virtual vtkDataObject * GetInputData (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)
 
- Public Member Functions inherited from vtkObject
vtkObject * NewInstance () const
 
virtual void DebugOn ()
 
virtual void DebugOff ()
 
bool GetDebug ()
 
void SetDebug (bool debugFlag)
 
virtual void Modified ()
 
virtual unsigned long GetMTime ()
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 
vtkCommand * GetCommand (unsigned long tag)
 
void RemoveObserver (vtkCommand *)
 
void RemoveObservers (unsigned long event, vtkCommand *)
 
void RemoveObservers (const char *event, vtkCommand *)
 
int HasObserver (unsigned long event, vtkCommand *)
 
int HasObserver (const char *event, vtkCommand *)
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
int HasObserver (unsigned long event)
 
int HasObserver (const char *event)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
int InvokeEvent (unsigned long event, void *callData)
 
int InvokeEvent (const char *event, void *callData)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 
virtual void Delete ()
 
virtual void FastDelete ()
 
void Print (ostream &os)
 
void SetReferenceCount (int)
 
void PrintRevisions (ostream &)
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
int GetReferenceCount ()
 

Static Public Member Functions

static vtkDemandDrivenPipeline * New ()
 
static int IsTypeOf (const char *type)
 
static vtkDemandDrivenPipeline * SafeDownCast (vtkObjectBase *o)
 
static vtkInformationRequestKey * REQUEST_DATA_OBJECT ()
 
static vtkInformationRequestKey * REQUEST_INFORMATION ()
 
static vtkInformationRequestKey * REQUEST_DATA ()
 
static vtkInformationRequestKey * REQUEST_DATA_NOT_GENERATED ()
 
static vtkInformationIntegerKey * RELEASE_DATA ()
 
static vtkInformationIntegerKey * DATA_NOT_GENERATED ()
 
static vtkDataObject * NewDataObject (const char *type)
 
- Static Public Member Functions inherited from vtkExecutive
static int IsTypeOf (const char *type)
 
static vtkExecutive * SafeDownCast (vtkObjectBase *o)
 
static vtkInformationExecutivePortKey * PRODUCER ()
 
static vtkInformationExecutivePortVectorKey * CONSUMERS ()
 
static vtkInformationIntegerKey * FROM_OUTPUT_PORT ()
 
static vtkInformationIntegerKey * ALGORITHM_BEFORE_FORWARD ()
 
static vtkInformationIntegerKey * ALGORITHM_AFTER_FORWARD ()
 
static vtkInformationIntegerKey * ALGORITHM_DIRECTION ()
 
static vtkInformationIntegerKey * FORWARD_DIRECTION ()
 
static vtkInformationKeyVectorKey * KEYS_TO_COPY ()
 
- Static Public Member Functions inherited from vtkObject
static int IsTypeOf (const char *type)
 
static vtkObject * SafeDownCast (vtkObjectBase *o)
 
static vtkObject * New ()
 
static void BreakOnError ()
 
static void SetGlobalWarningDisplay (int val)
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- Static Public Member Functions inherited from vtkObjectBase
static int IsTypeOf (const char *name)
 
static vtkObjectBase * New ()
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 vtkDemandDrivenPipeline ()
 
 ~vtkDemandDrivenPipeline ()
 
virtual int ExecuteDataObject (vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo)
 
virtual int ExecuteInformation (vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo)
 
virtual int ExecuteData (vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo)
 
virtual void ResetPipelineInformation (int, vtkInformation *)
 
virtual int CheckDataObject (int port, vtkInformationVector *outInfo)
 
int InputCountIsValid (vtkInformationVector **)
 
int InputCountIsValid (int port, vtkInformationVector **)
 
int InputTypeIsValid (vtkInformationVector **)
 
int InputTypeIsValid (int port, vtkInformationVector **)
 
virtual int InputTypeIsValid (int port, int index, vtkInformationVector **)
 
int InputFieldsAreValid (vtkInformationVector **)
 
int InputFieldsAreValid (int port, vtkInformationVector **)
 
virtual int InputFieldsAreValid (int port, int index, vtkInformationVector **)
 
int DataSetAttributeExists (vtkDataSetAttributes *dsa, vtkInformation *field)
 
int FieldArrayExists (vtkFieldData *data, vtkInformation *field)
 
int ArrayIsValid (vtkAbstractArray *array, vtkInformation *field)
 
int InputIsOptional (int port)
 
int InputIsRepeatable (int port)
 
virtual int NeedToExecuteData (int outputPort, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec)
 
virtual void ExecuteDataStart (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec)
 
virtual void ExecuteDataEnd (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec)
 
virtual void MarkOutputsGenerated (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec)
 
- Protected Member Functions inherited from vtkExecutive
 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 ReportReferences (vtkGarbageCollector *)
 
virtual void SetAlgorithm (vtkAlgorithm *algorithm)
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
virtual ~vtkObject ()
 
virtual void RegisterInternal (vtkObjectBase *, int check)
 
virtual void UnRegisterInternal (vtkObjectBase *, int check)
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 
void InternalReleaseFocus ()
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

unsigned long PipelineMTime
 
vtkTimeStamp DataObjectTime
 
vtkTimeStamp InformationTime
 
vtkTimeStamp DataTime
 
vtkInformation * InfoRequest
 
vtkInformation * DataObjectRequest
 
vtkInformation * DataRequest
 
- Protected Attributes inherited from vtkExecutive
vtkAlgorithm * Algorithm
 
int InAlgorithm
 
vtkInformationVector ** SharedInputInformation
 
vtkInformationVector * SharedOutputInformation
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Friends

class vtkCompositeDataPipeline
 

Detailed Description

Executive supporting on-demand execution.

vtkDemandDrivenPipeline is an executive that will execute an algorithm only when its outputs are out-of-date with respect to its inputs.

Events:
vtkCommand::StartEvent vtkCommand::EndEvent
Examples:
vtkDemandDrivenPipeline (Examples)
Tests:
vtkDemandDrivenPipeline (Tests)

Definition at line 56 of file vtkDemandDrivenPipeline.h.

Member Typedef Documentation

◆ Superclass

Definition at line 60 of file vtkDemandDrivenPipeline.h.

Constructor & Destructor Documentation

◆ vtkDemandDrivenPipeline()

vtkDemandDrivenPipeline::vtkDemandDrivenPipeline ( )
protected

◆ ~vtkDemandDrivenPipeline()

vtkDemandDrivenPipeline::~vtkDemandDrivenPipeline ( )
protected

Member Function Documentation

◆ New()

static vtkDemandDrivenPipeline* vtkDemandDrivenPipeline::New ( )
static

◆ IsTypeOf()

static int vtkDemandDrivenPipeline::IsTypeOf ( const char *  type)
static

◆ IsA()

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

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

◆ SafeDownCast()

static vtkDemandDrivenPipeline* vtkDemandDrivenPipeline::SafeDownCast ( vtkObjectBase *  o)
static

◆ NewInstanceInternal()

virtual vtkObjectBase* vtkDemandDrivenPipeline::NewInstanceInternal ( ) const
protectedvirtual

◆ NewInstance()

vtkDemandDrivenPipeline* vtkDemandDrivenPipeline::NewInstance ( ) const

◆ PrintSelf()

void vtkDemandDrivenPipeline::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 vtkStreamingDemandDrivenPipeline, and vtkThreadedCompositeDataPipeline.

◆ ProcessRequest()

virtual int vtkDemandDrivenPipeline::ProcessRequest ( vtkInformation *  request,
vtkInformationVector **  inInfo,
vtkInformationVector *  outInfo 
)
virtual

Generalized interface for asking the executive to fulfill update requests.

Reimplemented from vtkExecutive.

Reimplemented in vtkStreamingDemandDrivenPipeline, and vtkImageImportExecutive.

◆ ComputePipelineMTime()

virtual int vtkDemandDrivenPipeline::ComputePipelineMTime ( vtkInformation *  request,
vtkInformationVector **  inInfoVec,
vtkInformationVector *  outInfoVec,
int  requestFromOutputPort,
unsigned long *  mtime 
)
virtual

Implement the pipeline modified time request.

Reimplemented from vtkExecutive.

◆ Update() [1/2]

virtual int vtkDemandDrivenPipeline::Update ( )
virtual

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

Reimplemented from vtkExecutive.

Reimplemented in vtkStreamingDemandDrivenPipeline, and vtkCachedStreamingDemandDrivenPipeline.

◆ Update() [2/2]

virtual int vtkDemandDrivenPipeline::Update ( int  port)
virtual

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

Reimplemented from vtkExecutive.

Reimplemented in vtkStreamingDemandDrivenPipeline, and vtkCachedStreamingDemandDrivenPipeline.

◆ GetPipelineMTime()

virtual unsigned long vtkDemandDrivenPipeline::GetPipelineMTime ( )
virtual

Get the PipelineMTime for this exective.

◆ SetReleaseDataFlag()

virtual int vtkDemandDrivenPipeline::SetReleaseDataFlag ( int  port,
int  n 
)
virtual

Set whether the given output port releases data when it is consumed. Returns 1 if the the value changes and 0 otherwise.

◆ GetReleaseDataFlag()

virtual int vtkDemandDrivenPipeline::GetReleaseDataFlag ( int  port)
virtual

Get whether the given output port releases data when it is consumed.

◆ UpdatePipelineMTime()

virtual int vtkDemandDrivenPipeline::UpdatePipelineMTime ( )
virtual

Bring the PipelineMTime up to date.

◆ UpdateDataObject()

virtual int vtkDemandDrivenPipeline::UpdateDataObject ( )
virtual

Bring the output data object's existence up to date. This does not actually produce data, but does create the data object that will store data produced during the UpdateData step.

Implements vtkExecutive.

◆ UpdateInformation()

virtual int vtkDemandDrivenPipeline::UpdateInformation ( )
virtual

Bring the output information up to date.

Reimplemented from vtkExecutive.

◆ UpdateData()

virtual int vtkDemandDrivenPipeline::UpdateData ( int  outputPort)
virtual

Bring the output data up to date. This should be called only when information is up to date. Use the Update method if it is not known that the information is up to date.

◆ NewDataObject()

static vtkDataObject* vtkDemandDrivenPipeline::NewDataObject ( const char *  type)
static

Create (New) and return a data object of the given type. This is here for backwards compatibility. Use vtkDataObjectTypes::NewDataObject() instead.

◆ ExecuteDataObject()

virtual int vtkDemandDrivenPipeline::ExecuteDataObject ( vtkInformation *  request,
vtkInformationVector **  inInfo,
vtkInformationVector *  outInfo 
)
protectedvirtual

Reimplemented in vtkCompositeDataPipeline.

◆ ExecuteInformation()

virtual int vtkDemandDrivenPipeline::ExecuteInformation ( vtkInformation *  request,
vtkInformationVector **  inInfo,
vtkInformationVector *  outInfo 
)
protectedvirtual

◆ ExecuteData()

virtual int vtkDemandDrivenPipeline::ExecuteData ( vtkInformation *  request,
vtkInformationVector **  inInfo,
vtkInformationVector *  outInfo 
)
protectedvirtual

◆ ResetPipelineInformation()

virtual void vtkDemandDrivenPipeline::ResetPipelineInformation ( int  ,
vtkInformation *   
)
protectedvirtual

◆ CheckDataObject()

virtual int vtkDemandDrivenPipeline::CheckDataObject ( int  port,
vtkInformationVector *  outInfo 
)
protectedvirtual

◆ InputCountIsValid() [1/2]

int vtkDemandDrivenPipeline::InputCountIsValid ( vtkInformationVector **  )
protected

◆ InputCountIsValid() [2/2]

int vtkDemandDrivenPipeline::InputCountIsValid ( int  port,
vtkInformationVector **   
)
protected

◆ InputTypeIsValid() [1/3]

int vtkDemandDrivenPipeline::InputTypeIsValid ( vtkInformationVector **  )
protected

◆ InputTypeIsValid() [2/3]

int vtkDemandDrivenPipeline::InputTypeIsValid ( int  port,
vtkInformationVector **   
)
protected

◆ InputTypeIsValid() [3/3]

virtual int vtkDemandDrivenPipeline::InputTypeIsValid ( int  port,
int  index,
vtkInformationVector **   
)
protectedvirtual

Reimplemented in vtkCompositeDataPipeline.

◆ InputFieldsAreValid() [1/3]

int vtkDemandDrivenPipeline::InputFieldsAreValid ( vtkInformationVector **  )
protected

◆ InputFieldsAreValid() [2/3]

int vtkDemandDrivenPipeline::InputFieldsAreValid ( int  port,
vtkInformationVector **   
)
protected

◆ InputFieldsAreValid() [3/3]

virtual int vtkDemandDrivenPipeline::InputFieldsAreValid ( int  port,
int  index,
vtkInformationVector **   
)
protectedvirtual

◆ DataSetAttributeExists()

int vtkDemandDrivenPipeline::DataSetAttributeExists ( vtkDataSetAttributes *  dsa,
vtkInformation *  field 
)
protected

◆ FieldArrayExists()

int vtkDemandDrivenPipeline::FieldArrayExists ( vtkFieldData *  data,
vtkInformation *  field 
)
protected

◆ ArrayIsValid()

int vtkDemandDrivenPipeline::ArrayIsValid ( vtkAbstractArray *  array,
vtkInformation *  field 
)
protected

◆ InputIsOptional()

int vtkDemandDrivenPipeline::InputIsOptional ( int  port)
protected

◆ InputIsRepeatable()

int vtkDemandDrivenPipeline::InputIsRepeatable ( int  port)
protected

◆ NeedToExecuteData()

virtual int vtkDemandDrivenPipeline::NeedToExecuteData ( int  outputPort,
vtkInformationVector **  inInfoVec,
vtkInformationVector *  outInfoVec 
)
protectedvirtual

◆ ExecuteDataStart()

virtual void vtkDemandDrivenPipeline::ExecuteDataStart ( vtkInformation *  request,
vtkInformationVector **  inInfoVec,
vtkInformationVector *  outInfoVec 
)
protectedvirtual

◆ ExecuteDataEnd()

virtual void vtkDemandDrivenPipeline::ExecuteDataEnd ( vtkInformation *  request,
vtkInformationVector **  inInfoVec,
vtkInformationVector *  outInfoVec 
)
protectedvirtual

◆ MarkOutputsGenerated()

virtual void vtkDemandDrivenPipeline::MarkOutputsGenerated ( vtkInformation *  request,
vtkInformationVector **  inInfoVec,
vtkInformationVector *  outInfoVec 
)
protectedvirtual

Friends And Related Function Documentation

◆ vtkCompositeDataPipeline

friend class vtkCompositeDataPipeline
friend

Definition at line 215 of file vtkDemandDrivenPipeline.h.

Member Data Documentation

◆ PipelineMTime

unsigned long vtkDemandDrivenPipeline::PipelineMTime
protected

Definition at line 207 of file vtkDemandDrivenPipeline.h.

◆ DataObjectTime

vtkTimeStamp vtkDemandDrivenPipeline::DataObjectTime
protected

Definition at line 210 of file vtkDemandDrivenPipeline.h.

◆ InformationTime

vtkTimeStamp vtkDemandDrivenPipeline::InformationTime
protected

Definition at line 211 of file vtkDemandDrivenPipeline.h.

◆ DataTime

vtkTimeStamp vtkDemandDrivenPipeline::DataTime
protected

Definition at line 212 of file vtkDemandDrivenPipeline.h.

◆ InfoRequest

vtkInformation* vtkDemandDrivenPipeline::InfoRequest
protected

Definition at line 219 of file vtkDemandDrivenPipeline.h.

◆ DataObjectRequest

vtkInformation* vtkDemandDrivenPipeline::DataObjectRequest
protected

Definition at line 220 of file vtkDemandDrivenPipeline.h.

◆ DataRequest

vtkInformation* vtkDemandDrivenPipeline::DataRequest
protected

Definition at line 221 of file vtkDemandDrivenPipeline.h.


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