Go to the documentation of this file.
38 #ifndef vtkAlgorithm_h
39 #define vtkAlgorithm_h
41 #include "vtkCommonExecutionModelModule.h"
45 class vtkAlgorithmInternals;
149 int requestFromOutputPort,
209 vtkGetMacro(AbortExecute,
int);
217 vtkSetClampMacro(Progress,
double,0.0,1.0);
218 vtkGetMacro(Progress,
double);
245 vtkGetMacro( ErrorCode,
unsigned long );
316 int fieldAssociation,
319 int fieldAssociation,
320 int fieldAttributeType);
348 const char* fieldAssociation,
349 const char* attributeTypeorName);
441 { this->SetInputDataObject(0,
data); }
450 { this->AddInputDataObject(0,
data); }
460 return this->GetOutputPort(0); }
493 return this->GetInputAlgorithm(0, 0);
507 return this->GetInputExecutive(0, 0);
525 return this->GetInputInformation(0, 0);
583 int piece,
int numPieces,
int ghostLevels,
const int extents[6]=0);
599 int piece=-1,
int numPieces=1,
int ghostLevels=0,
const int extents[6]=0);
679 VTK_LEGACY(
void SetUpdateExtent(
int port,
680 int piece,
int numPieces,
int ghostLevel));
686 VTK_LEGACY(
void SetUpdateExtent(
687 int piece,
int numPieces,
int ghostLevel));
707 return this->GetUpdateExtent(0);
713 this->GetUpdateExtent(0, x0, x1, y0, y1, z0, z1);
716 int& x0,
int& x1,
int& y0,
int& y1,
720 this->GetUpdateExtent(0,
extent);
733 return this->GetUpdatePiece(0);
738 return this->GetUpdateNumberOfPieces(0);
743 return this->GetUpdateGhostLevel(0);
790 virtual
void SetNumberOfInputPorts(
int n);
795 virtual
void SetNumberOfOutputPorts(
int n);
798 int InputPortIndexInRange(
int index, const
char* action);
799 int OutputPortIndexInRange(
int index, const
char* action);
816 int GetInputArrayAssociation(
int idx,
int connection,
917 unsigned long ErrorCode;
944 virtual
void SetNumberOfInputConnections(
int port,
int n);
955 { this->SetInputDataObject(
port, input); }
957 { this->AddInputDataObject(
port, input); }
965 vtkAlgorithmInternals* AlgorithmInternal;
966 static void ConnectionAdd(
vtkAlgorithm* producer,
int producerPort,
968 static void ConnectionRemove(
vtkAlgorithm* producer,
int producerPort,
975 void operator=(
const vtkAlgorithm&) VTK_DELETE_FUNCTION;
virtual void SetReleaseDataFlag(int)
Turn release data flag on or off for all output ports.
void SetProgressText(const char *ptext)
Set the current text message associated with the progress state.
virtual void AddInputDataObject(int port, vtkDataObject *data)
Add the data-object as an input to this given port.
int GetTotalNumberOfInputConnections()
Get the total number of inputs for this algorithm.
void GetUpdateExtent(int extent[6])
void SetUpdateExtent(int extent[6])
Convenience function equivalent to SetUpdateExtent(0, extent)
virtual int UpdateTimeStep(double time, int piece=-1, int numPieces=1, int ghostLevels=0, const int extents[6]=0)
Convenience method to update an algorithm after passing requests to its first output port.
virtual void RemoveInputConnection(int port, int idx)
Remove a connection given by index idx.
void UnRegister(vtkObjectBase *o) override
Decrease the reference count (release by another object).
virtual void RemoveInputConnection(int port, vtkAlgorithmOutput *input)
Remove a connection from the given input port index.
int GetNumberOfInputPorts()
Get the number of input ports used by the algorithm.
vtkAlgorithmOutput * GetOutputPort()
void UpdateProgress(double amount)
Update the progress of the process object.
virtual void AddInputDataObject(vtkDataObject *data)
Superclass for all sources, filters, and sinks in VTK.
virtual void SetInputDataObject(vtkDataObject *data)
int HasExecutive()
Check whether this algorithm has an assigned executive.
vtkInformation * GetInputPortInformation(int port)
Get the information object associated with an input port.
virtual int ModifyRequest(vtkInformation *request, int when)
This method gives the algorithm a chance to modify the contents of a request before or after (specifi...
void SetProgressObserver(vtkProgressObserver *)
If an ProgressObserver is set, the algorithm will report progress through it rather than directly.
int GetUpdateGhostLevel()
int GetNumberOfOutputPorts()
Get the number of output ports provided by the algorithm.
virtual void PropagateUpdateExtent()
Propagate meta-data upstream.
abstract base class for most VTK objects
int GetUpdatePiece()
These functions return the update extent for output ports that use piece extents.
virtual void SetExecutive(vtkExecutive *executive)
Set this algorithm's executive.
abstract superclass for arrays of numeric data
vtkExecutive * GetInputExecutive(int port, int index)
Returns the executive associated with a particular input connection.
int GetUpdatePiece(int port)
void RemoveAllInputs()
Remove all the input data.
vtkExecutive * GetExecutive()
Get this algorithm's executive.
int UpdateExtentIsEmpty(vtkInformation *pinfo, int extentType)
virtual void SetInputArrayToProcess(int idx, int port, int connection, const char *fieldAssociation, const char *attributeTypeorName)
String based versions of SetInputArrayToProcess().
void ReleaseDataFlagOff()
void GetUpdateExtent(int &x0, int &x1, int &y0, int &y1, int &z0, int &z1)
vtkDataObject * GetOutputDataObject(int port)
Get the data object that will contain the algorithm output for the given port.
vtkProgressObserver * ProgressObserver
void Register(vtkObjectBase *o) override
Participate in garbage collection.
vtkInformation * GetInputInformation(int port, int index)
Return the information object that is associated with a particular input connection.
vtkTypeUInt64 vtkMTimeType
void SetUpdateExtent(int port, int extent[6])
Set the output update extent for data objects that use 3D extents.
int UpdateExtentIsEmpty(vtkInformation *pinfo, vtkDataObject *output)
This detects when the UpdateExtent will generate no data This condition is satisfied when the UpdateE...
virtual void AddInputConnection(int port, vtkAlgorithmOutput *input)
Add a connection to the given input port index.
Superclass for all pipeline executives in VTK.
create and manipulate unsorted lists of objects
virtual void Update()
Updates the extensions string.
virtual int GetReleaseDataFlag()
virtual void RemoveAllInputConnections(int port)
Removes all input connections.
void ConvertTotalInputToPortConnection(int ind, int &port, int &conn)
Convenience routine to convert from a linear ordering of input connections to a port/connection pair.
vtkAlgorithmOutput * GetInputConnection(int port, int index)
Get the algorithm output port connected to an input port.
int GetUpdateNumberOfPieces()
abstract base class for most VTK objects
void GetUpdateExtent(int port, int extent[6])
vtkAlgorithm * GetInputAlgorithm(int port, int index, int &algPort)
Returns the algorithm and the output port index of that algorithm connected to a port-index pair.
vtkDataObject * GetInputDataObject(int port, int connection)
Get the data object that will contain the algorithm input for the given port and given connection.
vtkAlgorithmOutput * GetOutputPort(int index)
Get a proxy object corresponding to the given output port of this algorithm.
a simple class to control print indentation
virtual int UpdateExtent(const int extents[6])
Convenience method to update an algorithm after passing requests to its first output port.
int * GetUpdateExtent()
These functions return the update extent for output ports that use 3D extents.
vtkInformation * GetOutputPortInformation(int port)
Get the information object associated with an output port.
virtual void AddInputConnection(vtkAlgorithmOutput *input)
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
int SetUpdateExtentToWholeExtent(int port)
If the whole output extent is required, this method can be called to set the output update extent to ...
Detect and break reference loops.
int SetUpdateExtentToWholeExtent()
Convenience function equivalent to SetUpdateExtentToWholeExtent(0) This method assumes that the whole...
virtual void SetInputArrayToProcess(int idx, vtkInformation *info)
Abstract superclass for all arrays.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
virtual void SetInputConnection(int port, vtkAlgorithmOutput *input)
Set the connection for the given input port index.
virtual void SetInputArrayToProcess(int idx, int port, int connection, int fieldAssociation, int fieldAttributeType)
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
static vtkAlgorithm * New()
virtual int ProcessRequest(vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo)
Upstream/Downstream requests form the generalized interface through which executives invoke a algorit...
vtkInformation * GetInputInformation()
Equivalent to GetInputInformation(0, 0)
vtkAlgorithm * GetInputAlgorithm()
Equivalent to GetInputAlgorithm(0, 0).
virtual void UpdateInformation()
Bring the algorithm's information up-to-date.
int * GetUpdateExtent(int port)
Proxy object to connect input/output ports.
vtkExecutive * GetInputExecutive()
Equivalent to GetInputExecutive(0, 0)
vtkInformation * GetInputArrayInformation(int idx)
Get the info object for the specified input array to this algorithm.
virtual void UpdateWholeExtent()
Bring this algorithm's outputs up-to-date.
int GetUpdateNumberOfPieces(int port)
virtual int UpdatePiece(int piece, int numPieces, int ghostLevels, const int extents[6]=0)
Convenience method to update an algorithm after passing requests to its first output port.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkAlgorithm * GetInputAlgorithm(int port, int index)
Returns the algorithm connected to a port-index pair.
static void SetDefaultExecutivePrototype(vtkExecutive *proto)
If the DefaultExecutivePrototype is set, a copy of it is created in CreateDefaultExecutive() using Ne...
void GetUpdateExtent(int port, int &x0, int &x1, int &y0, int &y1, int &z0, int &z1)
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.
virtual void UpdateDataObject()
Create output object(s).
virtual void SetInformation(vtkInformation *)
Basic class to optionally replace vtkAlgorithm progress functionality.
int GetNumberOfInputConnections(int port)
Get the number of inputs currently connected to a port.
general representation of visualization data
virtual void SetInputArrayToProcess(int idx, int port, int connection, int fieldAssociation, const char *name)
Set the input data arrays that this algorithm will process.
int ProcessRequest(vtkInformation *request, vtkCollection *inInfo, vtkInformationVector *outInfo)
Version of ProcessRequest() that is wrapped.
virtual void SetInputConnection(vtkAlgorithmOutput *input)
void AddInputDataInternal(int port, vtkDataObject *input)
DesiredOutputPrecision
Values used for setting the desired output precision for various algorithms.
virtual void SetInputDataObject(int port, vtkDataObject *data)
Sets the data-object as an input on the given port index.
vtkInformation * GetOutputInformation(int port)
Return the information object that is associated with a particular output port.
int GetUpdateGhostLevel(int port)