VTK  9.0.1
vtkAlgorithm.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkAlgorithm.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
41 #ifndef vtkAlgorithm_h
42 #define vtkAlgorithm_h
43 
44 #include "vtkCommonExecutionModelModule.h" // For export macro
45 #include "vtkObject.h"
46 
47 class vtkAbstractArray;
48 class vtkAlgorithmInternals;
49 class vtkAlgorithmOutput;
50 class vtkCollection;
51 class vtkDataArray;
52 class vtkDataObject;
53 class vtkExecutive;
54 class vtkInformation;
61 
62 class VTKCOMMONEXECUTIONMODEL_EXPORT vtkAlgorithm : public vtkObject
63 {
64 public:
65  static vtkAlgorithm* New();
66  vtkTypeMacro(vtkAlgorithm, vtkObject);
67  void PrintSelf(ostream& os, vtkIndent indent) override;
68 
90  {
93  DEFAULT_PRECISION
94  };
95 
101 
107 
113  virtual void SetExecutive(vtkExecutive* executive);
114 
139  vtkInformation* request, vtkInformationVector** inInfo, vtkInformationVector* outInfo);
140 
146  vtkInformation* request, vtkCollection* inInfo, vtkInformationVector* outInfo);
147 
153  virtual int ComputePipelineMTime(vtkInformation* request, vtkInformationVector** inInfoVec,
154  vtkInformationVector* outInfoVec, int requestFromOutputPort, vtkMTimeType* mtime);
155 
163  virtual int ModifyRequest(vtkInformation* request, int when);
164 
172 
180 
182 
185  vtkGetObjectMacro(Information, vtkInformation);
188 
193 
198 
200 
203  void Register(vtkObjectBase* o) override;
204  void UnRegister(vtkObjectBase* o) override;
206 
208 
212  vtkSetMacro(AbortExecute, vtkTypeBool);
213  vtkGetMacro(AbortExecute, vtkTypeBool);
214  vtkBooleanMacro(AbortExecute, vtkTypeBool);
216 
218 
221  vtkGetMacro(Progress, double);
223 
228  VTK_LEGACY(void SetProgress(double));
229 
235  void UpdateProgress(double amount);
236 
238 
250  void SetProgressShiftScale(double shift, double scale);
251  vtkGetMacro(ProgressShift, double);
252  vtkGetMacro(ProgressScale, double);
254 
256 
263  void SetProgressText(const char* ptext);
264  vtkGetStringMacro(ProgressText);
266 
268 
272  vtkGetMacro(ErrorCode, unsigned long);
274 
275  // left public for performance since it is used in inner loops
277 
307 
317 
331 
333 
341  virtual void SetInputArrayToProcess(
342  int idx, int port, int connection, int fieldAssociation, const char* name);
343  virtual void SetInputArrayToProcess(
344  int idx, int port, int connection, int fieldAssociation, int fieldAttributeType);
345  virtual void SetInputArrayToProcess(int idx, vtkInformation* info);
347 
371  virtual void SetInputArrayToProcess(int idx, int port, int connection,
372  const char* fieldAssociation, const char* attributeTypeorName);
373 
378 
379  // from here down are convenience methods that really are executive methods
380 
385 
391 
396  vtkDataObject* GetInputDataObject(int port, int connection);
397 
399 
412  virtual void SetInputConnection(int port, vtkAlgorithmOutput* input);
415 
417 
426  virtual void AddInputConnection(int port, vtkAlgorithmOutput* input);
429 
439  virtual void RemoveInputConnection(int port, vtkAlgorithmOutput* input);
440 
444  virtual void RemoveInputConnection(int port, int idx);
445 
449  virtual void RemoveAllInputConnections(int port);
450 
460  virtual void SetInputDataObject(vtkDataObject* data) { this->SetInputDataObject(0, data); }
461 
468  virtual void AddInputDataObject(vtkDataObject* data) { this->AddInputDataObject(0, data); }
469 
478 
483 
488 
493 
498  vtkAlgorithm* GetInputAlgorithm(int port, int index, int& algPort);
499 
504 
509 
515 
520 
530 
535 
544 
546 
549  virtual void Update(int port);
550  virtual void Update();
552 
575  virtual vtkTypeBool Update(int port, vtkInformationVector* requests);
576 
582  virtual vtkTypeBool Update(vtkInformation* requests);
583 
590  virtual int UpdatePiece(
591  int piece, int numPieces, int ghostLevels, const int extents[6] = nullptr);
592 
598  virtual int UpdateExtent(const int extents[6]);
599 
606  virtual int UpdateTimeStep(double time, int piece = -1, int numPieces = 1, int ghostLevels = 0,
607  const int extents[6] = nullptr);
608 
612  virtual void UpdateInformation();
613 
617  virtual void UpdateDataObject();
618 
622  virtual void PropagateUpdateExtent();
623 
627  virtual void UpdateWholeExtent();
628 
633  void ConvertTotalInputToPortConnection(int ind, int& port, int& conn);
634 
635  //======================================================================
636  // The following block of code is to support old style VTK applications. If
637  // you are using these calls there are better ways to do it in the new
638  // pipeline
639  //======================================================================
640 
642 
645  virtual void SetReleaseDataFlag(int);
646  virtual int GetReleaseDataFlag();
650 
651  //========================================================================
652 
654 
661  int UpdateExtentIsEmpty(vtkInformation* pinfo, int extentType);
663 
669 
671 
676  int* GetUpdateExtent() VTK_SIZEHINT(6) { return this->GetUpdateExtent(0); }
678  void GetUpdateExtent(int& x0, int& x1, int& y0, int& y1, int& z0, int& z1)
679  {
680  this->GetUpdateExtent(0, x0, x1, y0, y1, z0, z1);
681  }
682  void GetUpdateExtent(int port, int& x0, int& x1, int& y0, int& y1, int& z0, int& z1);
683  void GetUpdateExtent(int extent[6]) { this->GetUpdateExtent(0, extent); }
684  void GetUpdateExtent(int port, int extent[6]);
686 
688 
693  int GetUpdatePiece() { return this->GetUpdatePiece(0); }
697  int GetUpdateGhostLevel() { return this->GetUpdateGhostLevel(0); }
700 
702 
712  vtkGetObjectMacro(ProgressObserver, vtkProgressObserver);
714 
715 protected:
717  ~vtkAlgorithm() override;
718 
719  // Keys used to indicate that input/output port information has been
720  // filled.
722 
723  // Arbitrary extra information associated with this algorithm
725 
732 
739 
743  virtual void SetNumberOfInputPorts(int n);
744 
748  virtual void SetNumberOfOutputPorts(int n);
749 
750  // Helper methods to check input/output port index ranges.
751  int InputPortIndexInRange(int index, const char* action);
752  int OutputPortIndexInRange(int index, const char* action);
753 
758  int GetInputArrayAssociation(int idx, vtkInformationVector** inputVector);
759 
761 
769  int GetInputArrayAssociation(int idx, int connection, vtkInformationVector** inputVector);
772 
774 
780  int idx, vtkInformationVector** inputVector, int& association);
782 
784 
792  vtkDataArray* GetInputArrayToProcess(int idx, int connection, vtkInformationVector** inputVector);
794  int idx, int connection, vtkInformationVector** inputVector, int& association);
796  vtkDataArray* GetInputArrayToProcess(int idx, vtkDataObject* input, int& association);
798 
800 
806  int idx, vtkInformationVector** inputVector, int& association);
808 
810 
819  int idx, int connection, vtkInformationVector** inputVector);
821  int idx, int connection, vtkInformationVector** inputVector, int& association);
823  vtkAbstractArray* GetInputAbstractArrayToProcess(int idx, vtkDataObject* input, int& association);
825 
834 
842 
844 
848  vtkSetMacro(ErrorCode, unsigned long);
849  unsigned long ErrorCode;
851 
852  // Progress/Update handling
853  double Progress;
855 
856  // Garbage collection support.
858 
859  // executive methods below
860 
867  virtual void SetNthInputConnection(int port, int index, vtkAlgorithmOutput* input);
868 
875  virtual void SetNumberOfInputConnections(int port, int n);
876 
878 
886  {
887  this->SetInputDataObject(port, input);
888  }
890  {
891  this->AddInputDataObject(port, input);
892  }
893 
895 
896 private:
897  vtkExecutive* Executive;
898  vtkInformationVector* InputPortInformation;
899  vtkInformationVector* OutputPortInformation;
900  vtkAlgorithmInternals* AlgorithmInternal;
901  static void ConnectionAdd(
902  vtkAlgorithm* producer, int producerPort, vtkAlgorithm* consumer, int consumerPort);
903  static void ConnectionRemove(
904  vtkAlgorithm* producer, int producerPort, vtkAlgorithm* consumer, int consumerPort);
905  static void ConnectionRemoveAllInput(vtkAlgorithm* consumer, int port);
906  static void ConnectionRemoveAllOutput(vtkAlgorithm* producer, int port);
907 
908 private:
909  vtkAlgorithm(const vtkAlgorithm&) = delete;
910  void operator=(const vtkAlgorithm&) = delete;
911 
912  double ProgressShift;
913  double ProgressScale;
914 };
915 
916 #endif
vtkAlgorithm::GetInputAbstractArrayToProcess
vtkAbstractArray * GetInputAbstractArrayToProcess(int idx, int connection, vtkInformationVector **inputVector)
Filters that have multiple connections on one port can use this signature.
vtkAlgorithm::InputPortIndexInRange
int InputPortIndexInRange(int index, const char *action)
vtkAlgorithm::INPUT_ARRAYS_TO_PROCESS
static vtkInformationInformationVectorKey * INPUT_ARRAYS_TO_PROCESS()
vtkAlgorithm::CreateDefaultExecutive
virtual vtkExecutive * CreateDefaultExecutive()
Create a default executive.
vtkAlgorithm::SetReleaseDataFlag
virtual void SetReleaseDataFlag(int)
Turn release data flag on or off for all output ports.
vtkAlgorithm::AbortExecute
vtkTypeBool AbortExecute
Definition: vtkAlgorithm.h:272
vtkAlgorithm::SetProgressText
void SetProgressText(const char *ptext)
Set the current text message associated with the progress state.
vtkAlgorithm::AddInputDataObject
virtual void AddInputDataObject(int port, vtkDataObject *data)
Add the data-object as an input to this given port.
vtkAlgorithm::GetTotalNumberOfInputConnections
int GetTotalNumberOfInputConnections()
Get the total number of inputs for this algorithm.
vtkAlgorithm::SetNumberOfInputConnections
virtual void SetNumberOfInputConnections(int port, int n)
Set the number of input connections on the given input port.
vtkAlgorithm::GetInputArrayAssociation
int GetInputArrayAssociation(int idx, vtkDataObject *input)
vtkAlgorithm::Information
vtkInformation * Information
Definition: vtkAlgorithm.h:724
vtkAlgorithm::ReleaseDataFlagOn
void ReleaseDataFlagOn()
vtkInformationStringKey
Key for string values in vtkInformation.
Definition: vtkInformationStringKey.h:34
vtkAlgorithm::~vtkAlgorithm
~vtkAlgorithm() override
vtkAlgorithm::Update
virtual void Update(int port)
Bring this algorithm's outputs up-to-date.
vtkAlgorithm::GetUpdateExtent
void GetUpdateExtent(int extent[6])
Definition: vtkAlgorithm.h:683
vtkAlgorithm::UpdateTimeStep
virtual int UpdateTimeStep(double time, int piece=-1, int numPieces=1, int ghostLevels=0, const int extents[6]=nullptr)
Convenience method to update an algorithm after passing requests to its first output port.
vtkAlgorithm::DOUBLE_PRECISION
@ DOUBLE_PRECISION
Definition: vtkAlgorithm.h:92
vtkAlgorithm::PORT_REQUIREMENTS_FILLED
static vtkInformationIntegerKey * PORT_REQUIREMENTS_FILLED()
vtkAlgorithm::INPUT_PORT
static vtkInformationIntegerKey * INPUT_PORT()
vtkAlgorithm::RemoveInputConnection
virtual void RemoveInputConnection(int port, int idx)
Remove a connection given by index idx.
vtkX3D::scale
@ scale
Definition: vtkX3D.h:235
vtkAlgorithm::UnRegister
void UnRegister(vtkObjectBase *o) override
Decrease the reference count (release by another object).
vtkAlgorithm::RemoveInputConnection
virtual void RemoveInputConnection(int port, vtkAlgorithmOutput *input)
Remove a connection from the given input port index.
vtkAlgorithm::GetNumberOfInputPorts
int GetNumberOfInputPorts()
Get the number of input ports used by the algorithm.
vtkAlgorithm::OutputPortIndexInRange
int OutputPortIndexInRange(int index, const char *action)
vtkAlgorithm::GetOutputPort
vtkAlgorithmOutput * GetOutputPort()
Definition: vtkAlgorithm.h:477
vtkAlgorithm::UpdateProgress
void UpdateProgress(double amount)
Update the progress of the process object.
vtkAlgorithm::AddInputDataObject
virtual void AddInputDataObject(vtkDataObject *data)
Definition: vtkAlgorithm.h:468
vtkAlgorithm
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:63
vtkAlgorithm::SetInputDataObject
virtual void SetInputDataObject(vtkDataObject *data)
Definition: vtkAlgorithm.h:460
vtkX3D::data
@ data
Definition: vtkX3D.h:321
vtkAlgorithm::FillInputPortInformation
virtual int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
vtkAlgorithm::SetProgressShiftScale
void SetProgressShiftScale(double shift, double scale)
Specify the shift and scale values to use to apply to the progress amount when UpdateProgress is call...
vtkAlgorithm::GetInputAbstractArrayToProcess
vtkAbstractArray * GetInputAbstractArrayToProcess(int idx, vtkDataObject *input, int &association)
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:36
vtkAlgorithm::HasExecutive
int HasExecutive()
Check whether this algorithm has an assigned executive.
vtkAlgorithm::GetInputAbstractArrayToProcess
vtkAbstractArray * GetInputAbstractArrayToProcess(int idx, int connection, vtkInformationVector **inputVector, int &association)
vtkAlgorithm::GetInputPortInformation
vtkInformation * GetInputPortInformation(int port)
Get the information object associated with an input port.
vtkAlgorithm::ModifyRequest
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...
vtkAlgorithm::SetProgressObserver
void SetProgressObserver(vtkProgressObserver *)
If an ProgressObserver is set, the algorithm will report progress through it rather than directly.
vtkAlgorithm::GetInputArrayAssociation
int GetInputArrayAssociation(int idx, vtkInformationVector **inputVector)
Get the assocition of the actual data array for the input array specified by idx, this is only reason...
vtkAlgorithm::GetUpdateGhostLevel
int GetUpdateGhostLevel()
Definition: vtkAlgorithm.h:697
vtkAlgorithm::CAN_PRODUCE_SUB_EXTENT
static vtkInformationIntegerKey * CAN_PRODUCE_SUB_EXTENT()
This key tells the executive that a particular output port is capable of producing an arbitrary subex...
vtkAlgorithm::GetNumberOfOutputPorts
int GetNumberOfOutputPorts()
Get the number of output ports provided by the algorithm.
vtkAlgorithm::GetInputArrayToProcess
vtkDataArray * GetInputArrayToProcess(int idx, vtkInformationVector **inputVector)
Get the actual data array for the input array specified by idx, this is only reasonable during the RE...
vtkAlgorithm::ErrorCode
unsigned long ErrorCode
Definition: vtkAlgorithm.h:848
vtkAlgorithm::PropagateUpdateExtent
virtual void PropagateUpdateExtent()
Propagate meta-data upstream.
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:63
vtkAlgorithm::GetUpdatePiece
int GetUpdatePiece()
These functions return the update extent for output ports that use piece extents.
Definition: vtkAlgorithm.h:693
vtkAlgorithm::SetExecutive
virtual void SetExecutive(vtkExecutive *executive)
Set this algorithm's executive.
vtkAlgorithm::SetInputDataInternal
void SetInputDataInternal(int port, vtkDataObject *input)
These methods are used by subclasses to implement methods to set data objects directly as input.
Definition: vtkAlgorithm.h:885
vtkAlgorithm::GetInputArrayFieldInformation
vtkInformation * GetInputArrayFieldInformation(int idx, vtkInformationVector **inputVector)
This method takes in an index (as specified in SetInputArrayToProcess) and a pipeline information vec...
vtkAlgorithm::INPUT_REQUIRED_FIELDS
static vtkInformationInformationVectorKey * INPUT_REQUIRED_FIELDS()
vtkDataArray
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:50
vtkX3D::time
@ time
Definition: vtkX3D.h:503
vtkAlgorithm::GetInputArrayToProcess
vtkDataArray * GetInputArrayToProcess(int idx, int connection, vtkInformationVector **inputVector)
Filters that have multiple connections on one port can use this signature.
vtkAlgorithm::SetNumberOfInputPorts
virtual void SetNumberOfInputPorts(int n)
Set the number of input ports used by the algorithm.
vtkAlgorithm::GetInputExecutive
vtkExecutive * GetInputExecutive(int port, int index)
Returns the executive associated with a particular input connection.
vtkAlgorithm::GetInputAbstractArrayToProcess
vtkAbstractArray * GetInputAbstractArrayToProcess(int idx, vtkInformationVector **inputVector)
Get the actual data array for the input array specified by idx, this is only reasonable during the RE...
vtkAlgorithm::GetUpdatePiece
int GetUpdatePiece(int port)
vtkAlgorithm::RemoveAllInputs
void RemoveAllInputs()
Remove all the input data.
vtkAlgorithm::GetExecutive
vtkExecutive * GetExecutive()
Get this algorithm's executive.
vtkAlgorithm::UpdateExtentIsEmpty
int UpdateExtentIsEmpty(vtkInformation *pinfo, int extentType)
vtkAlgorithm::vtkAlgorithm
vtkAlgorithm()
vtkAlgorithm::ReleaseDataFlagOff
void ReleaseDataFlagOff()
vtkAlgorithm::GetUpdateExtent
void GetUpdateExtent(int &x0, int &x1, int &y0, int &y1, int &z0, int &z1)
Definition: vtkAlgorithm.h:678
vtkAlgorithm::GetOutputDataObject
vtkDataObject * GetOutputDataObject(int port)
Get the data object that will contain the algorithm output for the given port.
vtkAlgorithm::ProgressObserver
vtkProgressObserver * ProgressObserver
Definition: vtkAlgorithm.h:894
vtkAlgorithm::Register
void Register(vtkObjectBase *o) override
Participate in garbage collection.
vtkAlgorithm::GetInputInformation
vtkInformation * GetInputInformation(int port, int index)
Return the information object that is associated with a particular input connection.
vtkAlgorithm::GetInputArrayToProcess
vtkDataArray * GetInputArrayToProcess(int idx, int connection, vtkInformationVector **inputVector, int &association)
vtkAlgorithm::UpdateExtentIsEmpty
int UpdateExtentIsEmpty(vtkInformation *pinfo, vtkDataObject *output)
This detects when the UpdateExtent will generate no data This condition is satisfied when the UpdateE...
vtkX3D::port
@ port
Definition: vtkX3D.h:453
vtkAlgorithm::AddInputConnection
virtual void AddInputConnection(int port, vtkAlgorithmOutput *input)
Add a connection to the given input port index.
vtkExecutive
Superclass for all pipeline executives in VTK.
Definition: vtkExecutive.h:47
vtkCollection
create and manipulate ordered lists of objects
Definition: vtkCollection.h:53
vtkAlgorithm::GetReleaseDataFlag
virtual int GetReleaseDataFlag()
vtkAlgorithm::RemoveAllInputConnections
virtual void RemoveAllInputConnections(int port)
Removes all input connections.
vtkAlgorithm::ConvertTotalInputToPortConnection
void ConvertTotalInputToPortConnection(int ind, int &port, int &conn)
Convenience routine to convert from a linear ordering of input connections to a port/connection pair.
VTK_SIZEHINT
#define VTK_SIZEHINT(...)
Definition: vtkWrappingHints.h:45
vtkAlgorithm::GetInputConnection
vtkAlgorithmOutput * GetInputConnection(int port, int index)
Get the algorithm output port connected to an input port.
vtkAlgorithm::GetUpdateNumberOfPieces
int GetUpdateNumberOfPieces()
Definition: vtkAlgorithm.h:695
vtkObjectBase
abstract base class for most VTK objects
Definition: vtkObjectBase.h:64
vtkAlgorithm::GetUpdateExtent
void GetUpdateExtent(int port, int extent[6])
vtkAlgorithm::GetInputAlgorithm
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.
vtkAlgorithm::Update
virtual void Update()
vtkAlgorithm::GetInputDataObject
vtkDataObject * GetInputDataObject(int port, int connection)
Get the data object that will contain the algorithm input for the given port and given connection.
vtkInformationIntegerKey
Key for integer values in vtkInformation.
Definition: vtkInformationIntegerKey.h:32
vtkAlgorithm::GetOutputPort
vtkAlgorithmOutput * GetOutputPort(int index)
Get a proxy object corresponding to the given output port of this algorithm.
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:34
vtkAlgorithm::INPUT_IS_REPEATABLE
static vtkInformationIntegerKey * INPUT_IS_REPEATABLE()
vtkAlgorithm::UpdateExtent
virtual int UpdateExtent(const int extents[6])
Convenience method to update an algorithm after passing requests to its first output port.
vtkAlgorithm::GetInputArrayToProcess
vtkDataArray * GetInputArrayToProcess(int idx, vtkInformationVector **inputVector, int &association)
vtkAlgorithm::GetUpdateExtent
int * GetUpdateExtent()
These functions return the update extent for output ports that use 3D extents.
Definition: vtkAlgorithm.h:676
vtkAlgorithm::GetOutputPortInformation
vtkInformation * GetOutputPortInformation(int port)
Get the information object associated with an output port.
vtkAlgorithm::ProgressText
char * ProgressText
Definition: vtkAlgorithm.h:854
vtkAlgorithm::Progress
double Progress
Definition: vtkAlgorithm.h:853
vtkAlgorithm::AddInputConnection
virtual void AddInputConnection(vtkAlgorithmOutput *input)
vtkAlgorithm::ProcessRequest
vtkTypeBool ProcessRequest(vtkInformation *request, vtkCollection *inInfo, vtkInformationVector *outInfo)
Version of ProcessRequest() that is wrapped.
vtkX3D::name
@ name
Definition: vtkX3D.h:225
vtkGarbageCollector
Detect and break reference loops.
Definition: vtkGarbageCollector.h:95
vtkObject.h
vtkAlgorithm::SINGLE_PRECISION
@ SINGLE_PRECISION
Definition: vtkAlgorithm.h:91
vtkAbstractArray
Abstract superclass for all arrays.
Definition: vtkAbstractArray.h:76
vtkAlgorithm::GetInputArrayToProcess
vtkDataArray * GetInputArrayToProcess(int idx, vtkDataObject *input, int &association)
vtkAlgorithm::SetInputConnection
virtual void SetInputConnection(int port, vtkAlgorithmOutput *input)
Set the connection for the given input port index.
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:74
vtkAlgorithm::CAN_HANDLE_PIECE_REQUEST
static vtkInformationIntegerKey * CAN_HANDLE_PIECE_REQUEST()
Key that tells the pipeline that a particular algorithm can or cannot handle piece request.
vtkX3D::info
@ info
Definition: vtkX3D.h:382
vtkAlgorithm::New
static vtkAlgorithm * New()
vtkAlgorithm::ReportReferences
void ReportReferences(vtkGarbageCollector *) override
vtkAlgorithm::GetInputInformation
vtkInformation * GetInputInformation()
Equivalent to GetInputInformation(0, 0)
Definition: vtkAlgorithm.h:534
vtkAlgorithm::GetInputArrayToProcess
vtkDataArray * GetInputArrayToProcess(int idx, vtkDataObject *input)
vtkAlgorithm::GetInputAlgorithm
vtkAlgorithm * GetInputAlgorithm()
Equivalent to GetInputAlgorithm(0, 0).
Definition: vtkAlgorithm.h:508
vtkAlgorithm::Update
virtual vtkTypeBool Update(int port, vtkInformationVector *requests)
This method enables the passing of data requests to the algorithm to be used during execution (in add...
vtkAlgorithm::UpdateInformation
virtual void UpdateInformation()
Bring the algorithm's information up-to-date.
vtkAlgorithm::GetUpdateExtent
int * GetUpdateExtent(int port)
vtkAlgorithm::UpdatePiece
virtual int UpdatePiece(int piece, int numPieces, int ghostLevels, const int extents[6]=nullptr)
Convenience method to update an algorithm after passing requests to its first output port.
vtkAlgorithm::GetInputAbstractArrayToProcess
vtkAbstractArray * GetInputAbstractArrayToProcess(int idx, vtkInformationVector **inputVector, int &association)
vtkInformationStringVectorKey
Key for String vector values.
Definition: vtkInformationStringVectorKey.h:34
vtkAlgorithmOutput
Proxy object to connect input/output ports.
Definition: vtkAlgorithmOutput.h:37
vtkAlgorithm::GetInputExecutive
vtkExecutive * GetInputExecutive()
Equivalent to GetInputExecutive(0, 0)
Definition: vtkAlgorithm.h:519
vtkAlgorithm::GetInputArrayInformation
vtkInformation * GetInputArrayInformation(int idx)
Get the info object for the specified input array to this algorithm.
vtkInformationInformationVectorKey
Key for vtkInformation vectors.
Definition: vtkInformationInformationVectorKey.h:34
vtkAlgorithm::UpdateWholeExtent
virtual void UpdateWholeExtent()
Bring this algorithm's outputs up-to-date.
vtkAlgorithm::GetUpdateNumberOfPieces
int GetUpdateNumberOfPieces(int port)
vtkAlgorithm::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkAlgorithm::GetInputAlgorithm
vtkAlgorithm * GetInputAlgorithm(int port, int index)
Returns the algorithm connected to a port-index pair.
vtkAlgorithm::SetProgress
void SetProgress(double)
SetProgress is deprecated.
vtkAlgorithm::INPUT_IS_OPTIONAL
static vtkInformationIntegerKey * INPUT_IS_OPTIONAL()
Keys used to specify input port requirements.
vtkAlgorithm::SetDefaultExecutivePrototype
static void SetDefaultExecutivePrototype(vtkExecutive *proto)
If the DefaultExecutivePrototype is set, a copy of it is created in CreateDefaultExecutive() using Ne...
vtkAlgorithm::GetUpdateExtent
void GetUpdateExtent(int port, int &x0, int &x1, int &y0, int &y1, int &z0, int &z1)
vtkAlgorithm::ComputePipelineMTime
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.
vtkAlgorithm::INPUT_REQUIRED_DATA_TYPE
static vtkInformationStringVectorKey * INPUT_REQUIRED_DATA_TYPE()
vtkAlgorithm::SetNthInputConnection
virtual void SetNthInputConnection(int port, int index, vtkAlgorithmOutput *input)
Replace the Nth connection on the given input port.
vtkX3D::extent
@ extent
Definition: vtkX3D.h:351
vtkAlgorithm::UpdateDataObject
virtual void UpdateDataObject()
Create output object(s).
vtkAlgorithm::SetInformation
virtual void SetInformation(vtkInformation *)
vtkAlgorithm::SetNumberOfOutputPorts
virtual void SetNumberOfOutputPorts(int n)
Set the number of output ports provided by the algorithm.
vtkProgressObserver
Basic class to optionally replace vtkAlgorithm progress functionality.
Definition: vtkProgressObserver.h:40
vtkAlgorithm::Update
virtual vtkTypeBool Update(vtkInformation *requests)
Convenience method to update an algorithm after passing requests to its first output port.
vtkAlgorithm::GetNumberOfInputConnections
int GetNumberOfInputConnections(int port)
Get the number of inputs currently connected to a port.
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:60
vtkAlgorithm::DefaultExecutivePrototype
static vtkExecutive * DefaultExecutivePrototype
Definition: vtkAlgorithm.h:877
vtkX3D::index
@ index
Definition: vtkX3D.h:252
vtkAlgorithm::ProcessRequest
virtual vtkTypeBool ProcessRequest(vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo)
Upstream/Downstream requests form the generalized interface through which executives invoke a algorit...
vtkAlgorithm::INPUT_CONNECTION
static vtkInformationIntegerKey * INPUT_CONNECTION()
vtkAlgorithm::FillOutputPortInformation
virtual int FillOutputPortInformation(int port, vtkInformation *info)
Fill the output port information objects for this algorithm.
vtkAlgorithm::SetInputConnection
virtual void SetInputConnection(vtkAlgorithmOutput *input)
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkAlgorithm::GetInputArrayAssociation
int GetInputArrayAssociation(int idx, int connection, vtkInformationVector **inputVector)
Filters that have multiple connections on one port can use this signature.
vtkAlgorithm::AddInputDataInternal
void AddInputDataInternal(int port, vtkDataObject *input)
Definition: vtkAlgorithm.h:889
vtkAlgorithm::DesiredOutputPrecision
DesiredOutputPrecision
Values used for setting the desired output precision for various algorithms.
Definition: vtkAlgorithm.h:90
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:293
vtkAlgorithm::SetInputDataObject
virtual void SetInputDataObject(int port, vtkDataObject *data)
Sets the data-object as an input on the given port index.
vtkAlgorithm::GetOutputInformation
vtkInformation * GetOutputInformation(int port)
Return the information object that is associated with a particular output port.
vtkAlgorithm::GetUpdateGhostLevel
int GetUpdateGhostLevel(int port)
vtkAlgorithm::GetInputAbstractArrayToProcess
vtkAbstractArray * GetInputAbstractArrayToProcess(int idx, vtkDataObject *input)