VTK  9.4.20250206
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
138#ifndef vtkAlgorithm_h
139#define vtkAlgorithm_h
140
141#include "vtkCommonExecutionModelModule.h" // For export macro
142#include "vtkObject.h"
143#include "vtkWrappingHints.h" // For VTK_MARSHALMANUAL
144
145VTK_ABI_NAMESPACE_BEGIN
146class vtkAbstractArray;
147class vtkAlgorithmInternals;
149class vtkCollection;
150class vtkDataArray;
151class vtkDataObject;
152class vtkExecutive;
153class vtkInformation;
160
161class VTKCOMMONEXECUTIONMODEL_EXPORT VTK_MARSHALMANUAL vtkAlgorithm : public vtkObject
162{
163public:
164 static vtkAlgorithm* New();
165 vtkTypeMacro(vtkAlgorithm, vtkObject);
166 void PrintSelf(ostream& os, vtkIndent indent) override;
167
189 {
192 DEFAULT_PRECISION
193 };
194
200
206
212 virtual void SetExecutive(vtkExecutive* executive);
213
238 vtkInformation* request, vtkInformationVector** inInfo, vtkInformationVector* outInfo);
239
245 vtkInformation* request, vtkCollection* inInfo, vtkInformationVector* outInfo);
246
253 vtkInformationVector* outInfoVec, int requestFromOutputPort, vtkMTimeType* mtime);
254
262 virtual int ModifyRequest(vtkInformation* request, int when);
263
271
279
281
284 vtkGetObjectMacro(Information, vtkInformation);
287
292
297
299
302 bool UsesGarbageCollector() const override { return true; }
304
309
311
315 vtkSetMacro(AbortExecute, vtkTypeBool);
316 vtkGetMacro(AbortExecute, vtkTypeBool);
317 vtkBooleanMacro(AbortExecute, vtkTypeBool);
319
321
324 vtkGetMacro(Progress, double);
326
332 void UpdateProgress(double amount);
333
338
340
346 {
347 this->ContainerAlgorithm = containerAlg;
348 }
349 vtkAlgorithm* GetContainerAlgorithm() { return this->ContainerAlgorithm; }
351
353
360 vtkSetMacro(AbortOutput, bool);
361 vtkGetMacro(AbortOutput, bool);
363
365
377 void SetProgressShiftScale(double shift, double scale);
378 vtkGetMacro(ProgressShift, double);
379 vtkGetMacro(ProgressScale, double);
381
383
390 void SetProgressText(const char* ptext);
391 vtkGetStringMacro(ProgressText);
393
395
399 vtkGetMacro(ErrorCode, unsigned long);
401
402 // left public for performance since it is used in inner loops
403 std::atomic<vtkTypeBool> AbortExecute;
404
434
444
458
464
466
475 void SetInputArrayToProcess(const char* name, int fieldAssociation);
496 int idx, int port, int connection, int fieldAssociation, const char* name);
512 int idx, int port, int connection, int fieldAssociation, int fieldAttributeType);
513
519 virtual void SetInputArrayToProcess(int idx, vtkInformation* info);
520
546 virtual void SetInputArrayToProcess(int idx, int port, int connection,
547 const char* fieldAssociation, const char* attributeTypeorName);
549
554
555 // from here down are convenience methods that really are executive methods
556
561
567
572 vtkDataObject* GetInputDataObject(int port, int connection);
573
575
588 virtual void SetInputConnection(int port, vtkAlgorithmOutput* input);
591
593
602 virtual void AddInputConnection(int port, vtkAlgorithmOutput* input);
605
615 virtual void RemoveInputConnection(int port, vtkAlgorithmOutput* input);
616
620 virtual void RemoveInputConnection(int port, int idx);
621
625 virtual void RemoveAllInputConnections(int port);
626
635 virtual void SetInputDataObject(int port, vtkDataObject* data);
636 virtual void SetInputDataObject(vtkDataObject* data) { this->SetInputDataObject(0, data); }
637
643 virtual void AddInputDataObject(int port, vtkDataObject* data);
644 virtual void AddInputDataObject(vtkDataObject* data) { this->AddInputDataObject(0, data); }
645
654
659
664
669
674 vtkAlgorithm* GetInputAlgorithm(int port, int index, int& algPort);
675
679 vtkAlgorithm* GetInputAlgorithm(int port, int index);
680
685
690 vtkExecutive* GetInputExecutive(int port, int index);
691
696
705 vtkInformation* GetInputInformation(int port, int index);
706
711
720
722
726 virtual void Update(int port);
728 virtual void Update();
730
753 virtual vtkTypeBool Update(int port, vtkInformationVector* requests);
754
761
768 virtual int UpdatePiece(
769 int piece, int numPieces, int ghostLevels, const int extents[6] = nullptr);
770
777 virtual int UpdateExtent(const int extents[6]);
778
786 virtual int UpdateTimeStep(double time, int piece = -1, int numPieces = 1, int ghostLevels = 0,
787 const int extents[6] = nullptr);
788
793 virtual void UpdateInformation();
794
798 virtual void UpdateDataObject();
799
803 virtual void PropagateUpdateExtent();
804
809 virtual void UpdateWholeExtent();
810
815 void ConvertTotalInputToPortConnection(int ind, int& port, int& conn);
816
817 //======================================================================
818 // The following block of code is to support old style VTK applications. If
819 // you are using these calls there are better ways to do it in the new
820 // pipeline
821 //======================================================================
822
824
832
833 //========================================================================
834
836
843 int UpdateExtentIsEmpty(vtkInformation* pinfo, int extentType);
845
851
853
858 int* GetUpdateExtent() VTK_SIZEHINT(6) { return this->GetUpdateExtent(0); }
859 int* GetUpdateExtent(int port) VTK_SIZEHINT(6);
860 void GetUpdateExtent(int& x0, int& x1, int& y0, int& y1, int& z0, int& z1)
861 {
862 this->GetUpdateExtent(0, x0, x1, y0, y1, z0, z1);
863 }
864 void GetUpdateExtent(int port, int& x0, int& x1, int& y0, int& y1, int& z0, int& z1);
865 void GetUpdateExtent(int extent[6]) { this->GetUpdateExtent(0, extent); }
866 void GetUpdateExtent(int port, int extent[6]);
868
870
875 int GetUpdatePiece() { return this->GetUpdatePiece(0); }
876 int GetUpdatePiece(int port);
879 int GetUpdateGhostLevel() { return this->GetUpdateGhostLevel(0); }
880 int GetUpdateGhostLevel(int port);
882
884
894 vtkGetObjectMacro(ProgressObserver, vtkProgressObserver);
896
898
911
917
918protected:
920 ~vtkAlgorithm() override;
921
922 // Time stamp to store the last time any filter was aborted.
924
925 // Time stamp to store the last time this filter checked for an
926 // abort.
928
929 // Keys used to indicate that input/output port information has been
930 // filled.
932
933 // Arbitrary extra information associated with this algorithm
935
941
947 virtual int FillInputPortInformation(int port, vtkInformation* info);
948
954 virtual int FillOutputPortInformation(int port, vtkInformation* info);
955
959 virtual void SetNumberOfInputPorts(int n);
960
964 virtual void SetNumberOfOutputPorts(int n);
965
966 // Helper methods to check input/output port index ranges.
967 int InputPortIndexInRange(int index, const char* action);
968 int OutputPortIndexInRange(int index, const char* action);
969
975
977
985 int GetInputArrayAssociation(int idx, int connection, vtkInformationVector** inputVector);
988
990
996 int idx, vtkInformationVector** inputVector, int& association);
998
1000
1008 vtkDataArray* GetInputArrayToProcess(int idx, int connection, vtkInformationVector** inputVector);
1010 int idx, int connection, vtkInformationVector** inputVector, int& association);
1012 vtkDataArray* GetInputArrayToProcess(int idx, vtkDataObject* input, int& association);
1014
1016
1022 int idx, vtkInformationVector** inputVector, int& association);
1024
1026
1035 int idx, int connection, vtkInformationVector** inputVector);
1037 int idx, int connection, vtkInformationVector** inputVector, int& association);
1041
1050
1058
1060
1064 vtkSetMacro(ErrorCode, unsigned long);
1065 unsigned long ErrorCode;
1067
1068 // Progress/Update handling
1069 double Progress;
1071
1072 // Garbage collection support.
1074
1075 // executive methods below
1076
1083 virtual void SetNthInputConnection(int port, int index, vtkAlgorithmOutput* input);
1084
1091 virtual void SetNumberOfInputConnections(int port, int n);
1092
1094
1102 {
1103 this->SetInputDataObject(port, input);
1104 }
1106 {
1107 this->AddInputDataObject(port, input);
1108 }
1109
1111
1112private:
1113 vtkExecutive* Executive;
1114 vtkInformationVector* InputPortInformation;
1115 vtkInformationVector* OutputPortInformation;
1116 vtkAlgorithmInternals* AlgorithmInternal;
1117 static void ConnectionAdd(
1118 vtkAlgorithm* producer, int producerPort, vtkAlgorithm* consumer, int consumerPort);
1119 static void ConnectionRemove(
1120 vtkAlgorithm* producer, int producerPort, vtkAlgorithm* consumer, int consumerPort);
1121 static void ConnectionRemoveAllInput(vtkAlgorithm* consumer, int port);
1122 static void ConnectionRemoveAllOutput(vtkAlgorithm* producer, int port);
1123
1124 vtkAlgorithm(const vtkAlgorithm&) = delete;
1125 void operator=(const vtkAlgorithm&) = delete;
1126
1127 double ProgressShift;
1128 double ProgressScale;
1129 vtkAlgorithm* ContainerAlgorithm;
1130 bool AbortOutput;
1131};
1132
1133VTK_ABI_NAMESPACE_END
1134#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.
void SetInputArrayToProcess(const char *name, int fieldAssociation)
Set the input data arrays that this algorithm will process.
vtkInformation * GetInputArrayInformation(int idx)
Get the info object for the specified input array to this algorithm.
int GetInputArrayAssociation(int idx, vtkInformationVector **inputVector)
Get the association of the actual data array for the input array specified by idx,...
virtual void RemoveInputConnection(int port, vtkAlgorithmOutput *input)
Remove a connection from the given input port index.
vtkDataArray * GetInputArrayToProcess(int idx, int connection, vtkInformationVector **inputVector)
Filters that have multiple connections on one port can use this signature.
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...
virtual void SetNumberOfOutputPorts(int n)
Set the number of output ports provided by the algorithm.
virtual void SetNthInputConnection(int port, int index, vtkAlgorithmOutput *input)
Replace the Nth connection on the given input port.
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.
int GetInputArrayAssociation(int idx, vtkDataObject *input)
Filters that have multiple connections on one port can use this signature.
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...
void GetUpdateExtent(int extent[6])
These functions return the update extent for output ports that use 3D extents.
vtkInformation * GetInputArrayFieldInformation(int idx, vtkInformationVector **inputVector)
This method takes in an index (as specified in SetInputArrayToProcess) and a pipeline information vec...
int GetUpdatePiece()
These functions return the update extent for output ports that use piece extents.
vtkInformation * Information
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.
virtual int FillOutputPortInformation(int port, vtkInformation *info)
Fill the output port information objects for this algorithm.
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)
void SetNoPriorTemporalAccessInformationKey()
Set to all output ports of this algorithm the information key vtkStreamingDemandDrivenPipeline::NO_PR...
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.
vtkAbstractArray * GetInputAbstractArrayToProcess(int idx, int connection, vtkInformationVector **inputVector, int &association)
Filters that have multiple connections on one port can use this signature.
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.
static vtkInformationIntegerKey * PORT_REQUIREMENTS_FILLED()
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.
void SetInputDataInternal(int port, vtkDataObject *input)
These methods are used by subclasses to implement methods to set data objects directly as input.
int GetNumberOfInputPorts()
Get the number of input ports used by the algorithm.
int GetInputArrayAssociation(int idx, int connection, vtkInformationVector **inputVector)
Filters that have multiple connections on one port can use this signature.
void ReleaseDataFlagOn()
Turn release data flag on or off for all output ports.
bool CheckUpstreamAbort()
Checks to see if an upstream filter has been aborted.
void SetProgressShiftScale(double shift, double scale)
Specify the shift and scale values to use to apply to the progress amount when UpdateProgress is call...
vtkDataArray * GetInputArrayToProcess(int idx, int connection, vtkInformationVector **inputVector, int &association)
Filters that have multiple connections on one port can use this signature.
vtkDataArray * GetInputArrayToProcess(int idx, vtkInformationVector **inputVector, int &association)
Get the actual data array for the input array specified by idx, this is only reasonable during the RE...
virtual VTK_UNBLOCKTHREADS 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.
vtkInformation * GetInputInformation()
Equivalent to GetInputInformation(0, 0)
unsigned long ErrorCode
The error code contains a possible error that occurred while reading or writing the file.
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.
virtual void SetInputArrayToProcess(int idx, int port, int connection, int fieldAssociation, const char *name)
Set the input data arrays that this algorithm will process.
static vtkTimeStamp LastAbortTime
vtkTypeBool HasExecutive()
Check whether this algorithm has an assigned executive.
virtual void AddInputDataObject(int port, vtkDataObject *data)
Add the data-object as an input to this given port.
virtual vtkExecutive * CreateDefaultExecutive()
Create a default executive.
vtkAlgorithmOutput * GetOutputPort()
virtual VTK_UNBLOCKTHREADS void Update()
Bring this algorithm's outputs up-to-date.
int OutputPortIndexInRange(int index, const char *action)
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.
void ReportReferences(vtkGarbageCollector *) override
char * ProgressText
vtkAbstractArray * GetInputAbstractArrayToProcess(int idx, int connection, vtkInformationVector **inputVector)
Filters that have multiple connections on one port can use this signature.
vtkAlgorithm * GetInputAlgorithm(int port, int index)
Returns the algorithm connected to a port-index pair.
virtual VTK_UNBLOCKTHREADS void UpdateInformation()
Bring the algorithm's information up-to-date.
static vtkAlgorithm * New()
void SetProgressObserver(vtkProgressObserver *)
If an ProgressObserver is set, the algorithm will report progress through it rather than directly.
void RemoveNoPriorTemporalAccessInformationKey()
Removes any information key vtkStreamingDemandDrivenPipeline::NO_PRIOR_TEMPORAL_ACCESS() to all outpu...
virtual void SetInputArrayToProcess(int idx, vtkInformation *info)
Set the input data arrays that this algorithm will process.
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...
void SetAbortExecuteAndUpdateTime()
Set AbortExecute Flag and update LastAbortTime.
virtual int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
virtual void SetNumberOfInputConnections(int port, int n)
Set the number of input connections on the given input port.
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.
vtkDataArray * GetInputArrayToProcess(int idx, vtkDataObject *input)
Filters that have multiple connections on one port can use this signature.
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.
virtual VTK_UNBLOCKTHREADS void Update(int port)
Bring this algorithm's outputs up-to-date.
void SetProgressText(const char *ptext)
Set the current text message associated with the progress state.
virtual void PropagateUpdateExtent()
Propagate meta-data upstream.
std::atomic< vtkTypeBool > AbortExecute
vtkExecutive * GetExecutive()
Get this algorithm's executive.
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.
vtkAbstractArray * GetInputAbstractArrayToProcess(int idx, vtkInformationVector **inputVector, int &association)
Get the actual data array for the input array specified by idx, this is only reasonable during the RE...
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.
vtkDataArray * GetInputArrayToProcess(int idx, vtkDataObject *input, int &association)
Filters that have multiple connections on one port can use this signature.
virtual VTK_UNBLOCKTHREADS void UpdateWholeExtent()
Bring this algorithm's outputs up-to-date.
vtkTimeStamp LastAbortCheckTime
virtual void SetNumberOfInputPorts(int n)
Set the number of input ports used by the algorithm.
vtkAbstractArray * GetInputAbstractArrayToProcess(int idx, vtkDataObject *input, int &association)
Filters that have multiple connections on one port can use this signature.
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.
vtkAbstractArray * GetInputAbstractArrayToProcess(int idx, vtkDataObject *input)
Filters that have multiple connections on one port can use this signature.
int * GetUpdateExtent()
These functions return the update extent for output ports that use 3D extents.
vtkProgressObserver * ProgressObserver
void SetNoPriorTemporalAccessInformationKey(int key)
Set to all output ports of this algorithm the information key vtkStreamingDemandDrivenPipeline::NO_PR...
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.
void AddInputDataInternal(int port, vtkDataObject *input)
~vtkAlgorithm() override
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 InputPortIndexInRange(int index, const char *action)
vtkInformation * GetInputInformation(int port, int index)
Return the information object that is associated with a particular input connection.
virtual void SetInformation(vtkInformation *)
Set/Get the information object associated with this algorithm.
static vtkExecutive * DefaultExecutivePrototype
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.
virtual VTK_UNBLOCKTHREADS int UpdateExtent(const int extents[6])
Convenience method to update an algorithm after passing requests to its first output port.
create and manipulate ordered lists of objects
abstract superclass for arrays of numeric data
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:108
Key for integer values in vtkInformation.
Key for string values in vtkInformation.
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
abstract base class for most VTK objects
Definition vtkObject.h:162
Basic class to optionally replace vtkAlgorithm progress functionality.
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
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:270
#define VTK_SIZEHINT(...)
#define VTK_UNBLOCKTHREADS
#define VTK_MARSHALMANUAL