VTK  9.6.1
vtkAlgorithm.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
25 @par Tests:
26 @ref c2_vtk_t_vtkAlgorithm "vtkAlgorithm (Tests)"
27*/
29#ifndef vtkAlgorithm_h
30#define vtkAlgorithm_h
31
32#include "vtkArrayComponents.h" // For enum
33#include "vtkCommonExecutionModelModule.h" // For export macro
34#include "vtkObject.h"
35#include "vtkWrappingHints.h" // For VTK_MARSHALMANUAL
37VTK_ABI_NAMESPACE_BEGIN
39class vtkAlgorithmInternals;
41class vtkCollection;
43class vtkDataObject;
44class vtkExecutive;
45class vtkInformation;
52
53class VTKCOMMONEXECUTIONMODEL_EXPORT VTK_MARSHALMANUAL vtkAlgorithm : public vtkObject
54{
55public:
56 static vtkAlgorithm* New();
57 vtkTypeMacro(vtkAlgorithm, vtkObject);
58 void PrintSelf(ostream& os, vtkIndent indent) override;
59
86
92
98
104 virtual void SetExecutive(vtkExecutive* executive);
105
130 vtkInformation* request, vtkInformationVector** inInfo, vtkInformationVector* outInfo);
131
137 vtkInformation* request, vtkCollection* inInfo, vtkInformationVector* outInfo);
138
145 vtkInformationVector* outInfoVec, int requestFromOutputPort, vtkMTimeType* mtime);
146
154 virtual int ModifyRequest(vtkInformation* request, int when);
155
163
171
173
176 vtkGetObjectMacro(Information, vtkInformation);
179
186
189
191
194 bool UsesGarbageCollector() const override { return true; }
196
201
203
209 vtkBooleanMacro(AbortExecute, vtkTypeBool);
211
213
216 vtkGetMacro(Progress, double);
218
224 void UpdateProgress(double amount);
225
230
232
238 {
239 this->ContainerAlgorithm = containerAlg;
241 vtkAlgorithm* GetContainerAlgorithm() { return this->ContainerAlgorithm; }
243
245
252 vtkSetMacro(AbortOutput, bool);
253 vtkGetMacro(AbortOutput, bool);
255
257
269 void SetProgressShiftScale(double shift, double scale);
270 vtkGetMacro(ProgressShift, double);
271 vtkGetMacro(ProgressScale, double);
273
275
282 void SetProgressText(const char* ptext);
283 vtkGetStringMacro(ProgressText);
285
287
291 vtkGetMacro(ErrorCode, unsigned long);
293
294 // left public for performance since it is used in inner loops
295 std::atomic<vtkTypeBool> AbortExecute;
296
326
336
350
356
358
376 const char* name, int fieldAssociation, int component = vtkArrayComponents::AllComponents);
379
402 int idx, int port, int connection, int fieldAssociation, const char* name);
418 int idx, int port, int connection, int fieldAssociation, const char* name, int component);
420
422
437 int idx, int port, int connection, int fieldAssociation, int fieldAttributeType);
454 int idx, int port, int connection, int fieldAssociation, int fieldAttributeType, int component);
456
461 virtual void SetInputArrayToProcess(int idx, vtkInformation* info);
462
464
494 virtual void SetInputArrayToProcess(int idx, int port, int connection,
495 const char* fieldAssociation, const char* attributeTypeorName);
496 virtual void SetInputArrayToProcess(int idx, int port, int connection,
497 const char* fieldAssociation, const char* attributeTypeorName, const char* component);
499
504
516
521
522 // from here down are convenience methods that really are executive methods
523
528
534
539 vtkDataObject* GetInputDataObject(int port, int connection);
540
542
555 virtual void SetInputConnection(int port, vtkAlgorithmOutput* input);
558
560
569 virtual void AddInputConnection(int port, vtkAlgorithmOutput* input);
572
582 virtual void RemoveInputConnection(int port, vtkAlgorithmOutput* input);
583
587 virtual void RemoveInputConnection(int port, int idx);
588
592 virtual void RemoveAllInputConnections(int port);
593
602 virtual void SetInputDataObject(int port, vtkDataObject* data);
603 virtual void SetInputDataObject(vtkDataObject* data) { this->SetInputDataObject(0, data); }
604
610 virtual void AddInputDataObject(int port, vtkDataObject* data);
611 virtual void AddInputDataObject(vtkDataObject* data) { this->AddInputDataObject(0, data); }
612
621
626
636
641 vtkAlgorithm* GetInputAlgorithm(int port, int index, int& algPort);
642
646 vtkAlgorithm* GetInputAlgorithm(int port, int index);
647
652
657 vtkExecutive* GetInputExecutive(int port, int index);
658
663
672 vtkInformation* GetInputInformation(int port, int index);
673
678
687
693 virtual void Update(int port);
695 virtual void Update();
697
720 virtual vtkTypeBool Update(int port, vtkInformationVector* requests);
728
735 virtual int UpdatePiece(
736 int piece, int numPieces, int ghostLevels, const int extents[6] = nullptr);
737
744 virtual int UpdateExtent(const int extents[6]);
745
753 virtual int UpdateTimeStep(double time, int piece = -1, int numPieces = 1, int ghostLevels = 0,
754 const int extents[6] = nullptr);
760 virtual void UpdateInformation();
761
765 virtual void UpdateDataObject();
766
770 virtual void PropagateUpdateExtent();
772 /**
773 * Bring this algorithm's outputs up-to-date.
774 */
776 virtual void UpdateWholeExtent();
782 void ConvertTotalInputToPortConnection(int ind, int& port, int& conn);
783
784 //======================================================================
785 // The following block of code is to support old style VTK applications. If
786 // you are using these calls there are better ways to do it in the new
787 // pipeline
788 //======================================================================
799
800 //========================================================================
801
803
810 int UpdateExtentIsEmpty(vtkInformation* pinfo, int extentType);
812
818
820
825 int* GetUpdateExtent() VTK_SIZEHINT(6) { return this->GetUpdateExtent(0); }
826 int* GetUpdateExtent(int port) VTK_SIZEHINT(6);
827 void GetUpdateExtent(int& x0, int& x1, int& y0, int& y1, int& z0, int& z1)
828 {
829 this->GetUpdateExtent(0, x0, x1, y0, y1, z0, z1);
830 }
831 void GetUpdateExtent(int port, int& x0, int& x1, int& y0, int& y1, int& z0, int& z1);
832 void GetUpdateExtent(int extent[6]) { this->GetUpdateExtent(0, extent); }
833 void GetUpdateExtent(int port, int extent[6]);
835
837
842 int GetUpdatePiece() { return this->GetUpdatePiece(0); }
843 int GetUpdatePiece(int port);
846 int GetUpdateGhostLevel() { return this->GetUpdateGhostLevel(0); }
847 int GetUpdateGhostLevel(int port);
849
851
863
865
875 void SetNoPriorTemporalAccessInformationKey(int key);
876 void SetNoPriorTemporalAccessInformationKey();
878
884
885protected:
887 ~vtkAlgorithm() override;
888
889 // Time stamp to store the last time any filter was aborted.
891
892 // Time stamp to store the last time this filter checked for an
893 // abort.
895
896 // Keys used to indicate that input/output port information has been
897 // filled.
899
900 // Arbitrary extra information associated with this algorithm
902
908
914 virtual int FillInputPortInformation(int port, vtkInformation* info);
915
921 virtual int FillOutputPortInformation(int port, vtkInformation* info);
922
926 virtual void SetNumberOfInputPorts(int n);
927
931 virtual void SetNumberOfOutputPorts(int n);
932
933 // Helper methods to check input/output port index ranges.
934 int InputPortIndexInRange(int index, const char* action);
935 int OutputPortIndexInRange(int index, const char* action);
936
942
944
952 int GetInputArrayAssociation(int idx, int connection, vtkInformationVector** inputVector);
955
976
978
984 int idx, vtkInformationVector** inputVector, int& association);
986
988
996 vtkDataArray* GetInputArrayToProcess(int idx, int connection, vtkInformationVector** inputVector);
998 int idx, int connection, vtkInformationVector** inputVector, int& association);
1000 vtkDataArray* GetInputArrayToProcess(int idx, vtkDataObject* input, int& association);
1002
1004
1010 int idx, vtkInformationVector** inputVector, int& association);
1012
1014
1023 int idx, int connection, vtkInformationVector** inputVector);
1025 int idx, int connection, vtkInformationVector** inputVector, int& association);
1029
1031
1060 vtkSmartPointer<vtkAbstractArray> GetInputArray(int idx, int connection,
1061 vtkInformationVector** inputVector, int& association,
1062 int requestedComponent = vtkArrayComponents::Requested);
1064 int requestedComponent = vtkArrayComponents::Requested);
1065 template <typename ArrayType, typename... Params>
1067 {
1068 auto abstractArray = this->GetInputArray(std::forward<Params>(params)...);
1069 auto* castArray = ArrayType::SafeDownCast(abstractArray.GetPointer());
1070 auto result = vtkSmartPointer<ArrayType>(castArray);
1071 return result;
1072 }
1073
1074
1083
1091
1093
1097 vtkSetMacro(ErrorCode, unsigned long);
1098 unsigned long ErrorCode;
1100
1101 // Progress/Update handling
1102 double Progress;
1104
1105 // Garbage collection support.
1107
1108 // executive methods below
1109
1116 virtual void SetNthInputConnection(int port, int index, vtkAlgorithmOutput* input);
1117
1124 virtual void SetNumberOfInputConnections(int port, int n);
1125
1127
1135 {
1136 this->SetInputDataObject(port, input);
1137 }
1139 {
1140 this->AddInputDataObject(port, input);
1141 }
1142
1144
1145private:
1146 vtkExecutive* Executive;
1147 vtkInformationVector* InputPortInformation;
1148 vtkInformationVector* OutputPortInformation;
1149 vtkAlgorithmInternals* AlgorithmInternal;
1150 static void ConnectionAdd(
1151 vtkAlgorithm* producer, int producerPort, vtkAlgorithm* consumer, int consumerPort);
1152 static void ConnectionRemove(
1153 vtkAlgorithm* producer, int producerPort, vtkAlgorithm* consumer, int consumerPort);
1154 static void ConnectionRemoveAllInput(vtkAlgorithm* consumer, int port);
1155 static void ConnectionRemoveAllOutput(vtkAlgorithm* producer, int port);
1156
1157 vtkAlgorithm(const vtkAlgorithm&) = delete;
1158 void operator=(const vtkAlgorithm&) = delete;
1159
1160 double ProgressShift;
1161 double ProgressScale;
1162 vtkAlgorithm* ContainerAlgorithm;
1163 bool AbortOutput;
1164};
1165
1166VTK_ABI_NAMESPACE_END
1167#endif
Abstract superclass for all arrays.
Proxy object to connect input/output ports.
Superclass for all sources, filters, and sinks in VTK.
virtual void UpdateDataObject()
Create output object(s).
vtkAlgorithmOutput * GetInputConnection(int port, int index)
Get the algorithm output port connected to an input port.
int GetUpdatePiece(int port)
These functions return the update extent for output ports that use piece extents.
void UpdateProgress(double amount)
Update the progress of the process object.
vtkInformation * GetInputArrayInformation(int idx)
Get the info object for the specified input array to this algorithm.
virtual void RemoveInputConnection(int port, vtkAlgorithmOutput *input)
Remove a connection from the given input port index.
virtual void SetInputArrayToProcess(int idx, int port, int connection, const char *fieldAssociation, const char *attributeTypeorName, const char *component)
Set the input data arrays that this algorithm will process.
int GetUpdateGhostLevel()
These functions return the update extent for output ports that use piece extents.
void GetUpdateExtent(int port, int &x0, int &x1, int &y0, int &y1, int &z0, int &z1)
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 AddInputDataObject(vtkDataObject *data)
virtual void SetInputDataObject(vtkDataObject *data)
int UpdateExtentIsEmpty(vtkInformation *pinfo, int extentType)
This detects when the UpdateExtent will generate no data This condition is satisfied when the UpdateE...
int UpdateExtentIsEmpty(vtkInformation *pinfo, vtkDataObject *output)
This detects when the UpdateExtent will generate no data This condition is satisfied when the UpdateE...
virtual void SetInputArrayToProcess(int idx, int port, int connection, int fieldAssociation, const char *name, int component)
This method variant also accepts a component to consider rather than the entire tuple.
void GetUpdateExtent(int extent[6])
These functions return the update extent for output ports that use 3D extents.
int GetUpdatePiece()
These functions return the update extent for output ports that use piece extents.
vtkAlgorithm * GetContainerAlgorithm()
Set/get a Container algorithm for this algorithm.
virtual vtkTypeBool Update(vtkInformation *requests)
Convenience method to update an algorithm after passing requests to its first output port.
void SetContainerAlgorithm(vtkAlgorithm *containerAlg)
Set/get a Container algorithm for this algorithm.
vtkDataObject * GetOutputDataObject(int port)
Get the data object that will contain the algorithm output for the given port.
vtkExecutive * GetInputExecutive()
Equivalent to GetInputExecutive(0, 0).
vtkExecutive * GetInputExecutive(int port, int index)
Returns the executive associated with a particular input connection.
virtual void RemoveAllInputConnections(int port)
Removes all input connections.
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 AddInputConnection(vtkAlgorithmOutput *input)
Add a connection to the given input port index.
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...
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.
virtual void SetInputArrayToProcess(int idx, int port, int connection, const char *fieldAssociation, const char *attributeTypeorName)
Set the input data arrays that this algorithm will process.
virtual vtkTypeBool ProcessRequest(vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo)
Upstream/Downstream requests form the generalized interface through which executives invoke a algorit...
int GetNumberOfOutputPorts()
Get the number of output ports provided by the algorithm.
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 ReleaseDataFlagOff()
Turn release data flag on or off for all output ports.
int GetNumberOfInputPorts()
Get the number of input ports used by the algorithm.
void ReleaseDataFlagOn()
Turn release data flag on or off for all output ports.
void SetProgressShiftScale(double shift, double scale)
Specify the shift and scale values to use to apply to the progress amount when UpdateProgress is call...
vtkInformation * GetInputInformation()
Equivalent to GetInputInformation(0, 0).
void GetUpdateExtent(int port, int extent[6])
These functions return the update extent for output ports that use 3D extents.
virtual void SetReleaseDataFlag(vtkTypeBool)
Turn release data flag on or off for all output ports.
vtkInformation * GetOutputInformation(int port)
Return the information object that is associated with a particular output port.
vtkInformation * GetInputPortInformation(int port)
Get the information object associated with an input port.
int GetUpdateGhostLevel(int port)
These functions return the update extent for output ports that use piece extents.
int * GetUpdateExtent(int port)
These functions return the update extent for output ports that use 3D extents.
void SetInputArrayToProcess(const char *name, int fieldAssociation, int component=vtkArrayComponents::AllComponents)
Set the input data arrays that this algorithm will process.
virtual void SetInputArrayToProcess(int idx, int port, int connection, int fieldAssociation, const char *name)
Set the input data arrays that this algorithm will process.
vtkTypeBool HasExecutive()
Check whether this algorithm has an assigned executive.
virtual void SetInputArrayToProcess(int idx, int port, int connection, int fieldAssociation, int fieldAttributeType, int component)
This method variant also accepts a component to consider rather than the entire tuple.
virtual void AddInputDataObject(int port, vtkDataObject *data)
Add the data-object as an input to this given port.
vtkAlgorithmOutput * GetOutputPort()
static void SetDefaultExecutivePrototype(vtkExecutive *proto)
If the DefaultExecutivePrototype is set, a copy of it is created in CreateDefaultExecutive() using Ne...
vtkAlgorithm * GetInputAlgorithm()
Equivalent to GetInputAlgorithm(0, 0).
bool CheckAbort()
Checks to see if this filter should abort.
bool ResetInputArraySpecifications()
Clear all existing input array specifications (as if SetInputArrayToProcess had never been called).
vtkAlgorithm * GetInputAlgorithm(int port, int index)
Returns the algorithm connected to a port-index pair.
static vtkAlgorithm * New()
void SetProgressObserver(vtkProgressObserver *)
If an ProgressObserver is set, the algorithm will report progress through it rather than directly.
virtual void SetInputArrayToProcess(int idx, vtkInformation *info)
Set the input data arrays that this algorithm will process.
void SetAbortExecuteAndUpdateTime()
Set AbortExecute Flag and update LastAbortTime.
virtual void UpdateWholeExtent()
Bring this algorithm's outputs up-to-date.
virtual void SetInputConnection(int port, vtkAlgorithmOutput *input)
Set the connection for the given input port index.
int GetTotalNumberOfInputConnections()
Get the total number of inputs for this algorithm.
virtual void SetInputConnection(vtkAlgorithmOutput *input)
Set the connection for the given input port index.
void ConvertTotalInputToPortConnection(int ind, int &port, int &conn)
Convenience routine to convert from a linear ordering of input connections to a port/connection pair.
virtual void SetExecutive(vtkExecutive *executive)
Set this algorithm's executive.
bool UsesGarbageCollector() const override
Participate in garbage collection.
virtual vtkTypeBool GetReleaseDataFlag()
Turn release data flag on or off for all output ports.
int GetNumberOfInputConnections(int port)
Get the number of inputs currently connected to a port.
void SetProgressText(const char *ptext)
Set the current text message associated with the progress state.
virtual void PropagateUpdateExtent()
Propagate meta-data upstream.
virtual void Update(int port)
Bring this algorithm's outputs up-to-date.
std::atomic< vtkTypeBool > AbortExecute
vtkExecutive * GetExecutive()
Get this algorithm's executive.
virtual int UpdateExtent(const int extents[6])
Convenience method to update an algorithm after passing requests to its first output port.
int GetUpdateNumberOfPieces()
These functions return the update extent for output ports that use piece extents.
vtkTypeBool ProcessRequest(vtkInformation *request, vtkCollection *inInfo, vtkInformationVector *outInfo)
Version of ProcessRequest() that is wrapped.
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.
void GetUpdateExtent(int &x0, int &x1, int &y0, int &y1, int &z0, int &z1)
These functions return the update extent for output ports that use 3D extents.
virtual void RemoveInputConnection(int port, int idx)
Remove a connection given by index idx.
virtual void SetInputArrayToProcess(int idx, int port, int connection, int fieldAssociation, int fieldAttributeType)
Set the input data arrays that this algorithm will process.
int * GetUpdateExtent()
These functions return the update extent for output ports that use 3D extents.
vtkDataObject * GetInputDataObject(int port, int connection)
Get the data object that will contain the algorithm input for the given port and given connection.
virtual void UpdateInformation()
Bring the algorithm's information up-to-date.
vtkAlgorithmOutput * GetOutputPort(int index)
Get a proxy object corresponding to the given output port of this algorithm.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int GetUpdateNumberOfPieces(int port)
These functions return the update extent for output ports that use piece extents.
int GetNumberOfInputArraySpecifications()
Get the number of input array indices that have already been set.
vtkInformation * GetInputInformation(int port, int index)
Return the information object that is associated with a particular input connection.
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.
virtual void SetInformation(vtkInformation *)
Set/Get the information object associated with this algorithm.
virtual void Update()
Bring this algorithm's outputs up-to-date.
virtual void AddInputConnection(int port, vtkAlgorithmOutput *input)
Add a connection to the given input port index.
void RemoveAllInputs()
Remove all the input data.
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.
create and manipulate ordered lists of objects
general representation of visualization data
Superclass for all pipeline executives in VTK.
Detect and break reference loops.
a simple class to control print indentation
Definition vtkIndent.h:29
Key for integer values in vtkInformation.
Key for string values in vtkInformation.
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
virtual void ReportReferences(vtkGarbageCollector *)
Basic class to optionally replace vtkAlgorithm progress functionality.
Hold a reference to a vtkObjectBase instance.
record modification and/or execution time
static vtkInformationStringVectorKey * INPUT_REQUIRED_DATA_TYPE()
static vtkInformationIntegerKey * INPUT_IS_OPTIONAL()
Keys used to specify input port requirements.
static vtkInformationIntegerKey * CAN_HANDLE_PIECE_REQUEST()
Key that tells the pipeline that a particular algorithm can or cannot handle piece request.
static vtkInformationIntegerKey * INPUT_PORT()
static vtkInformationInformationVectorKey * INPUT_REQUIRED_FIELDS()
static vtkInformationInformationVectorKey * INPUT_ARRAYS_TO_PROCESS()
static vtkInformationIntegerKey * INPUT_CONNECTION()
static vtkInformationIntegerKey * CAN_PRODUCE_SUB_EXTENT()
This key tells the executive that a particular output port is capable of producing an arbitrary subex...
static vtkInformationIntegerKey * ABORTED()
static vtkInformationIntegerKey * INPUT_IS_REPEATABLE()
int vtkTypeBool
Definition vtkABI.h:64
*vtkDataArray * GetInputArrayToProcess(int idx, vtkInformationVector **inputVector, int &association)
virtual int FillOutputPortInformation(int port, vtkInformation *info)
Fill the output port information objects for this algorithm.
int * GetUpdateExtent()
These functions return the update extent for output ports that use 3D extents.
void AddInputDataInternal(int port, vtkDataObject *input)
virtual void SetNumberOfInputConnections(int port, int n)
Set the number of input connections on the given input port.
virtual void SetNumberOfOutputPorts(int n)
Set the number of output ports provided by the algorithm.
void SetInputDataInternal(int port, vtkDataObject *input)
These methods are used by subclasses to implement methods to set data objects directly as input.
*unsigned long ErrorCode
static vtkTimeStamp LastAbortTime
virtual int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
vtkTimeStamp LastAbortCheckTime
char * ProgressText
~vtkAlgorithm() override
vtkProgressObserver * ProgressObserver
**vtkSmartPointer< vtkAbstractArray > GetInputArray(int idx, vtkDataObject *input, int &association, int requestedComponent=vtkArrayComponents::Requested)
**vtkAbstractArray * GetInputAbstractArrayToProcess(int idx, vtkInformationVector **inputVector, int &association)
vtkInformation * Information
vtkSmartPointer< ArrayType > GetInputArrayAs(Params &&... params)
static vtkInformationIntegerKey * PORT_REQUIREMENTS_FILLED()
*double Progress
bool CheckUpstreamAbort()
Checks to see if an upstream filter has been aborted.
int GetInputArrayAssociation(int idx, vtkInformationVector **inputVector)
Get the association of the actual data array for the input array specified by idx,...
virtual void SetNumberOfInputPorts(int n)
Set the number of input ports used by the algorithm.
virtual void SetInputDataObject(int port, vtkDataObject *data)
Sets the data-object as an input on the given port index.
*int GetInputArrayComponent(int idx)
Get the component to process of the actual data array for the input array specified by idx,...
vtkAlgorithm vtkObject RemoveNoPriorTemporalAccessInformationKey()
Removes any information key vtkStreamingDemandDrivenPipeline::NO_PRIOR_TEMPORAL_ACCESS() to all outpu...
virtual void SetNthInputConnection(int port, int index, vtkAlgorithmOutput *input)
Replace the Nth connection on the given input port.
static vtkExecutive * DefaultExecutivePrototype
virtual vtkExecutive * CreateDefaultExecutive()
Create a default executive.
int OutputPortIndexInRange(int index, const char *action)
virtual void AddInputDataObject(int port, vtkDataObject *data)
Add the data-object as an input to this given port.
*vtkInformation * GetInputArrayFieldInformation(int idx, vtkInformationVector **inputVector)
This method takes in an index (as specified in SetInputArrayToProcess) and a pipeline information vec...
int InputPortIndexInRange(int index, const char *action)
@ AllComponents
@ Requested
#define vtkDataArray
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:323
#define VTK_SIZEHINT(...)
#define VTK_UNBLOCKTHREADS
#define VTK_MARSHALMANUAL
#define vtkAlgorithm