VTK  9.3.20240301
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 
144 VTK_ABI_NAMESPACE_BEGIN
145 class vtkAbstractArray;
146 class vtkAlgorithmInternals;
147 class vtkAlgorithmOutput;
148 class vtkCollection;
149 class vtkDataArray;
150 class vtkDataObject;
151 class vtkExecutive;
152 class vtkInformation;
158 class vtkProgressObserver;
159 
160 class VTKCOMMONEXECUTIONMODEL_EXPORT vtkAlgorithm : public vtkObject
161 {
162 public:
163  static vtkAlgorithm* New();
164  vtkTypeMacro(vtkAlgorithm, vtkObject);
165  void PrintSelf(ostream& os, vtkIndent indent) override;
166 
188  {
191  DEFAULT_PRECISION
192  };
193 
199 
205 
211  virtual void SetExecutive(vtkExecutive* executive);
212 
237  vtkInformation* request, vtkInformationVector** inInfo, vtkInformationVector* outInfo);
238 
244  vtkInformation* request, vtkCollection* inInfo, vtkInformationVector* outInfo);
245 
251  virtual int ComputePipelineMTime(vtkInformation* request, vtkInformationVector** inInfoVec,
252  vtkInformationVector* outInfoVec, int requestFromOutputPort, vtkMTimeType* mtime);
253 
261  virtual int ModifyRequest(vtkInformation* request, int when);
262 
270 
278 
280 
283  vtkGetObjectMacro(Information, vtkInformation);
286 
291 
296 
298 
301  bool UsesGarbageCollector() const override { return true; }
303 
308 
310 
314  vtkSetMacro(AbortExecute, vtkTypeBool);
315  vtkGetMacro(AbortExecute, vtkTypeBool);
316  vtkBooleanMacro(AbortExecute, vtkTypeBool);
318 
320 
323  vtkGetMacro(Progress, double);
325 
331  void UpdateProgress(double amount);
332 
336  bool CheckAbort();
337 
339 
345  {
346  this->ContainerAlgorithm = containerAlg;
347  }
348  vtkAlgorithm* GetContainerAlgorithm() { return this->ContainerAlgorithm; }
350 
352 
359  vtkSetMacro(AbortOutput, bool);
360  vtkGetMacro(AbortOutput, bool);
362 
364 
376  void SetProgressShiftScale(double shift, double scale);
377  vtkGetMacro(ProgressShift, double);
378  vtkGetMacro(ProgressScale, double);
380 
382 
389  void SetProgressText(const char* ptext);
390  vtkGetStringMacro(ProgressText);
392 
394 
398  vtkGetMacro(ErrorCode, unsigned long);
400 
401  // left public for performance since it is used in inner loops
402  std::atomic<vtkTypeBool> AbortExecute;
403 
433 
443 
457 
463 
465 
474  int idx, int port, int connection, int fieldAssociation, const char* name);
476  int idx, int port, int connection, int fieldAssociation, int fieldAttributeType);
477  virtual void SetInputArrayToProcess(int idx, vtkInformation* info);
479 
503  virtual void SetInputArrayToProcess(int idx, int port, int connection,
504  const char* fieldAssociation, const char* attributeTypeorName);
505 
510 
511  // from here down are convenience methods that really are executive methods
512 
517 
523 
528  vtkDataObject* GetInputDataObject(int port, int connection);
529 
531 
544  virtual void SetInputConnection(int port, vtkAlgorithmOutput* input);
547 
549 
558  virtual void AddInputConnection(int port, vtkAlgorithmOutput* input);
561 
571  virtual void RemoveInputConnection(int port, vtkAlgorithmOutput* input);
572 
576  virtual void RemoveInputConnection(int port, int idx);
577 
581  virtual void RemoveAllInputConnections(int port);
582 
592  virtual void SetInputDataObject(vtkDataObject* data) { this->SetInputDataObject(0, data); }
593 
600  virtual void AddInputDataObject(vtkDataObject* data) { this->AddInputDataObject(0, data); }
601 
610 
615 
620 
625 
630  vtkAlgorithm* GetInputAlgorithm(int port, int index, int& algPort);
631 
636 
641 
647 
652 
662 
667 
676 
678 
681  virtual void Update(int port);
682  virtual void Update();
684 
707  virtual vtkTypeBool Update(int port, vtkInformationVector* requests);
708 
714  virtual vtkTypeBool Update(vtkInformation* requests);
715 
722  virtual int UpdatePiece(
723  int piece, int numPieces, int ghostLevels, const int extents[6] = nullptr);
724 
730  virtual int UpdateExtent(const int extents[6]);
731 
738  virtual int UpdateTimeStep(double time, int piece = -1, int numPieces = 1, int ghostLevels = 0,
739  const int extents[6] = nullptr);
740 
744  virtual void UpdateInformation();
745 
749  virtual void UpdateDataObject();
750 
754  virtual void PropagateUpdateExtent();
755 
759  virtual void UpdateWholeExtent();
760 
765  void ConvertTotalInputToPortConnection(int ind, int& port, int& conn);
766 
767  //======================================================================
768  // The following block of code is to support old style VTK applications. If
769  // you are using these calls there are better ways to do it in the new
770  // pipeline
771  //======================================================================
772 
774 
782 
783  //========================================================================
784 
786 
793  int UpdateExtentIsEmpty(vtkInformation* pinfo, int extentType);
795 
801 
803 
808  int* GetUpdateExtent() VTK_SIZEHINT(6) { return this->GetUpdateExtent(0); }
810  void GetUpdateExtent(int& x0, int& x1, int& y0, int& y1, int& z0, int& z1)
811  {
812  this->GetUpdateExtent(0, x0, x1, y0, y1, z0, z1);
813  }
814  void GetUpdateExtent(int port, int& x0, int& x1, int& y0, int& y1, int& z0, int& z1);
815  void GetUpdateExtent(int extent[6]) { this->GetUpdateExtent(0, extent); }
816  void GetUpdateExtent(int port, int extent[6]);
818 
820 
825  int GetUpdatePiece() { return this->GetUpdatePiece(0); }
829  int GetUpdateGhostLevel() { return this->GetUpdateGhostLevel(0); }
832 
834 
844  vtkGetObjectMacro(ProgressObserver, vtkProgressObserver);
846 
848 
861 
867 
868 protected:
870  ~vtkAlgorithm() override;
871 
872  // Time stamp to store the last time any filter was aborted.
874 
875  // Time stamp to store the last time this filter checked for an
876  // abort.
878 
879  // Keys used to indicate that input/output port information has been
880  // filled.
882 
883  // Arbitrary extra information associated with this algorithm
885 
891 
898 
905 
909  virtual void SetNumberOfInputPorts(int n);
910 
914  virtual void SetNumberOfOutputPorts(int n);
915 
916  // Helper methods to check input/output port index ranges.
917  int InputPortIndexInRange(int index, const char* action);
918  int OutputPortIndexInRange(int index, const char* action);
919 
924  int GetInputArrayAssociation(int idx, vtkInformationVector** inputVector);
925 
927 
935  int GetInputArrayAssociation(int idx, int connection, vtkInformationVector** inputVector);
938 
940 
946  int idx, vtkInformationVector** inputVector, int& association);
948 
950 
958  vtkDataArray* GetInputArrayToProcess(int idx, int connection, vtkInformationVector** inputVector);
960  int idx, int connection, vtkInformationVector** inputVector, int& association);
962  vtkDataArray* GetInputArrayToProcess(int idx, vtkDataObject* input, int& association);
964 
966 
972  int idx, vtkInformationVector** inputVector, int& association);
974 
976 
985  int idx, int connection, vtkInformationVector** inputVector);
987  int idx, int connection, vtkInformationVector** inputVector, int& association);
989  vtkAbstractArray* GetInputAbstractArrayToProcess(int idx, vtkDataObject* input, int& association);
991 
1000 
1008 
1010 
1014  vtkSetMacro(ErrorCode, unsigned long);
1015  unsigned long ErrorCode;
1017 
1018  // Progress/Update handling
1019  double Progress;
1021 
1022  // Garbage collection support.
1024 
1025  // executive methods below
1026 
1033  virtual void SetNthInputConnection(int port, int index, vtkAlgorithmOutput* input);
1034 
1041  virtual void SetNumberOfInputConnections(int port, int n);
1042 
1044 
1052  {
1053  this->SetInputDataObject(port, input);
1054  }
1056  {
1057  this->AddInputDataObject(port, input);
1058  }
1059 
1061 
1062 private:
1063  vtkExecutive* Executive;
1064  vtkInformationVector* InputPortInformation;
1065  vtkInformationVector* OutputPortInformation;
1066  vtkAlgorithmInternals* AlgorithmInternal;
1067  static void ConnectionAdd(
1068  vtkAlgorithm* producer, int producerPort, vtkAlgorithm* consumer, int consumerPort);
1069  static void ConnectionRemove(
1070  vtkAlgorithm* producer, int producerPort, vtkAlgorithm* consumer, int consumerPort);
1071  static void ConnectionRemoveAllInput(vtkAlgorithm* consumer, int port);
1072  static void ConnectionRemoveAllOutput(vtkAlgorithm* producer, int port);
1073 
1074  vtkAlgorithm(const vtkAlgorithm&) = delete;
1075  void operator=(const vtkAlgorithm&) = delete;
1076 
1077  double ProgressShift;
1078  double ProgressScale;
1079  vtkAlgorithm* ContainerAlgorithm;
1080  bool AbortOutput;
1081 };
1082 
1083 VTK_ABI_NAMESPACE_END
1084 #endif
Abstract superclass for all arrays.
Proxy object to connect input/output ports.
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:161
virtual void UpdateDataObject()
Create output object(s).
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.
static vtkAlgorithm * New()
vtkDataObject * GetInputDataObject(int port, int connection)
Get the data object that will contain the algorithm input for the given port and given connection.
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.
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.
Definition: vtkAlgorithm.h:829
static vtkInformationIntegerKey * PORT_REQUIREMENTS_FILLED()
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.
int GetInputArrayAssociation(int idx, vtkDataObject *input)
Filters that have multiple connections on one port can use this signature.
virtual void AddInputDataObject(vtkDataObject *data)
Definition: vtkAlgorithm.h:600
virtual void SetInputDataObject(vtkDataObject *data)
Definition: vtkAlgorithm.h:592
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.
Definition: vtkAlgorithm.h:815
int GetUpdatePiece()
These functions return the update extent for output ports that use piece extents.
Definition: vtkAlgorithm.h:825
vtkInformation * Information
Definition: vtkAlgorithm.h:884
vtkAbstractArray * GetInputAbstractArrayToProcess(int idx, vtkDataObject *input, int &association)
Filters that have multiple connections on one port can use this signature.
vtkExecutive * GetInputExecutive()
Equivalent to GetInputExecutive(0, 0)
Definition: vtkAlgorithm.h:651
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.
Definition: vtkAlgorithm.h:344
void SetNoPriorTemporalAccessInformationKey()
Set to all output ports of this algorithm the information key vtkStreamingDemandDrivenPipeline::NO_PR...
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.
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 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...
vtkAlgorithmOutput * GetInputConnection(int port, int index)
Get the algorithm output port connected to an input port.
int * GetUpdateExtent(int port)
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 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)
String based versions of SetInputArrayToProcess().
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.
vtkDataObject * GetOutputDataObject(int port)
Get the data object that will contain the algorithm output for the given port.
vtkAlgorithm * GetInputAlgorithm(int port, int index)
Returns the algorithm connected to a port-index pair.
vtkInformation * GetInputInformation()
Equivalent to GetInputInformation(0, 0)
Definition: vtkAlgorithm.h:666
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)
Filters that have multiple connections on one port can use this signature.
vtkAlgorithm * GetInputAlgorithm()
Equivalent to GetInputAlgorithm(0, 0).
Definition: vtkAlgorithm.h:640
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.
int GetUpdateGhostLevel(int port)
These functions return the update extent for output ports that use piece 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
Definition: vtkAlgorithm.h:873
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.
vtkAlgorithm * GetContainerAlgorithm()
Set/get a Container algorithm for this algorithm.
Definition: vtkAlgorithm.h:348
vtkExecutive * GetInputExecutive(int port, int index)
Returns the executive associated with a particular input connection.
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...
vtkAbstractArray * GetInputAbstractArrayToProcess(int idx, int connection, vtkInformationVector **inputVector)
Filters that have multiple connections on one port can use this signature.
vtkAbstractArray * GetInputAbstractArrayToProcess(int idx, vtkDataObject *input)
Filters that have multiple connections on one port can use this signature.
bool CheckAbort()
Checks to see if this filter should abort.
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...
vtkDataArray * GetInputArrayToProcess(int idx, vtkDataObject *input)
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...
void ReportReferences(vtkGarbageCollector *) override
vtkExecutive * GetExecutive()
Get this algorithm's executive.
char * ProgressText
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.
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 SetProgressObserver(vtkProgressObserver *)
If an ProgressObserver is set, the algorithm will report progress through it rather than directly.
vtkDataArray * GetInputArrayToProcess(int idx, vtkDataObject *input, int &association)
Filters that have multiple connections on one port can use this signature.
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.
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 UpdateWholeExtent()
Bring this algorithm's outputs up-to-date.
vtkDataArray * GetInputArrayToProcess(int idx, int connection, vtkInformationVector **inputVector, int &association)
Filters that have multiple connections on one port can use this signature.
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.
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.
Definition: vtkAlgorithm.h:301
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.
vtkInformation * GetInputArrayFieldInformation(int idx, vtkInformationVector **inputVector)
This method takes in an index (as specified in SetInputArrayToProcess) and a pipeline information vec...
virtual void PropagateUpdateExtent()
Propagate meta-data upstream.
virtual void Update(int port)
Bring this algorithm's outputs up-to-date.
std::atomic< vtkTypeBool > AbortExecute
Definition: vtkAlgorithm.h:398
virtual int UpdateExtent(const int extents[6])
Convenience method to update an algorithm after passing requests to its first output port.
vtkAlgorithmOutput * GetOutputPort()
Definition: vtkAlgorithm.h:609
int GetUpdateNumberOfPieces()
These functions return the update extent for output ports that use piece extents.
Definition: vtkAlgorithm.h:827
vtkTypeBool ProcessRequest(vtkInformation *request, vtkCollection *inInfo, vtkInformationVector *outInfo)
Version of ProcessRequest() that is wrapped.
vtkInformation * GetInputPortInformation(int port)
Get the information object associated with an input port.
DesiredOutputPrecision
Values used for setting the desired output precision for various algorithms.
Definition: vtkAlgorithm.h:188
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.
Definition: vtkAlgorithm.h:810
vtkInformation * GetInputArrayInformation(int idx)
Get the info object for the specified input array to this algorithm.
vtkAbstractArray * GetInputAbstractArrayToProcess(int idx, int connection, vtkInformationVector **inputVector, int &association)
Filters that have multiple connections on one port can use this signature.
vtkTimeStamp LastAbortCheckTime
Definition: vtkAlgorithm.h:877
virtual void SetNumberOfInputPorts(int n)
Set the number of input ports used by the algorithm.
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.
vtkAlgorithmOutput * GetOutputPort(int index)
Get a proxy object corresponding to the given output port of this algorithm.
int * GetUpdateExtent()
These functions return the update extent for output ports that use 3D extents.
Definition: vtkAlgorithm.h:808
vtkInformation * GetOutputInformation(int port)
Return the information object that is associated with a particular output port.
vtkProgressObserver * ProgressObserver
void SetNoPriorTemporalAccessInformationKey(int key)
Set to all output ports of this algorithm the information key vtkStreamingDemandDrivenPipeline::NO_PR...
virtual void UpdateInformation()
Bring the algorithm's information up-to-date.
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.
virtual vtkExecutive * CreateDefaultExecutive()
Create a default executive.
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 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.
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.
create and manipulate ordered lists of objects
Definition: vtkCollection.h:45
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:154
general representation of visualization data
Superclass for all pipeline executives in VTK.
Definition: vtkExecutive.h:68
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:161
Basic class to optionally replace vtkAlgorithm progress functionality.
record modification and/or execution time
Definition: vtkTimeStamp.h:44
static vtkInformationIntegerKey * INPUT_PORT()
static vtkInformationIntegerKey * INPUT_IS_OPTIONAL()
Keys used to specify input port requirements.
static vtkInformationIntegerKey * INPUT_CONNECTION()
static vtkInformationInformationVectorKey * INPUT_ARRAYS_TO_PROCESS()
static vtkInformationIntegerKey * ABORTED()
static vtkInformationStringVectorKey * INPUT_REQUIRED_DATA_TYPE()
static vtkInformationInformationVectorKey * INPUT_REQUIRED_FIELDS()
static vtkInformationIntegerKey * CAN_HANDLE_PIECE_REQUEST()
Key that tells the pipeline that a particular algorithm can or cannot handle piece request.
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 * INPUT_IS_REPEATABLE()
@ key
Definition: vtkX3D.h:257
@ info
Definition: vtkX3D.h:376
@ port
Definition: vtkX3D.h:447
@ scale
Definition: vtkX3D.h:229
@ time
Definition: vtkX3D.h:497
@ extent
Definition: vtkX3D.h:345
@ name
Definition: vtkX3D.h:219
@ index
Definition: vtkX3D.h:246
@ data
Definition: vtkX3D.h:315
int vtkTypeBool
Definition: vtkABI.h:64
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270
#define VTK_SIZEHINT(...)