VTK  9.3.0
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
29 #ifndef vtkAlgorithm_h
30 #define vtkAlgorithm_h
31 
32 #include "vtkCommonExecutionModelModule.h" // For export macro
33 #include "vtkObject.h"
34 
35 VTK_ABI_NAMESPACE_BEGIN
36 class vtkAbstractArray;
37 class vtkAlgorithmInternals;
38 class vtkAlgorithmOutput;
39 class vtkCollection;
40 class vtkDataArray;
41 class vtkDataObject;
42 class vtkExecutive;
43 class vtkInformation;
50 
51 class VTKCOMMONEXECUTIONMODEL_EXPORT vtkAlgorithm : public vtkObject
52 {
53 public:
54  static vtkAlgorithm* New();
55  vtkTypeMacro(vtkAlgorithm, vtkObject);
56  void PrintSelf(ostream& os, vtkIndent indent) override;
57 
79  {
82  DEFAULT_PRECISION
83  };
84 
90 
96 
102  virtual void SetExecutive(vtkExecutive* executive);
103 
128  vtkInformation* request, vtkInformationVector** inInfo, vtkInformationVector* outInfo);
129 
135  vtkInformation* request, vtkCollection* inInfo, vtkInformationVector* outInfo);
136 
142  virtual int ComputePipelineMTime(vtkInformation* request, vtkInformationVector** inInfoVec,
143  vtkInformationVector* outInfoVec, int requestFromOutputPort, vtkMTimeType* mtime);
144 
152  virtual int ModifyRequest(vtkInformation* request, int when);
153 
161 
169 
171 
174  vtkGetObjectMacro(Information, vtkInformation);
177 
182 
187 
189 
192  bool UsesGarbageCollector() const override { return true; }
194 
199 
201 
205  vtkSetMacro(AbortExecute, vtkTypeBool);
206  vtkGetMacro(AbortExecute, vtkTypeBool);
207  vtkBooleanMacro(AbortExecute, vtkTypeBool);
209 
211 
214  vtkGetMacro(Progress, double);
216 
222  void UpdateProgress(double amount);
223 
227  bool CheckAbort();
228 
230 
236  {
237  this->ContainerAlgorithm = containerAlg;
238  };
239  vtkAlgorithm* GetContainerAlgorithm() { return this->ContainerAlgorithm; };
241 
243 
250  vtkSetMacro(AbortOutput, bool);
251  vtkGetMacro(AbortOutput, bool);
253 
255 
267  void SetProgressShiftScale(double shift, double scale);
268  vtkGetMacro(ProgressShift, double);
269  vtkGetMacro(ProgressScale, double);
271 
273 
280  void SetProgressText(const char* ptext);
281  vtkGetStringMacro(ProgressText);
283 
285 
289  vtkGetMacro(ErrorCode, unsigned long);
291 
292  // left public for performance since it is used in inner loops
293  std::atomic<vtkTypeBool> AbortExecute;
294 
324 
334 
348 
354 
356 
365  int idx, int port, int connection, int fieldAssociation, const char* name);
367  int idx, int port, int connection, int fieldAssociation, int fieldAttributeType);
368  virtual void SetInputArrayToProcess(int idx, vtkInformation* info);
370 
394  virtual void SetInputArrayToProcess(int idx, int port, int connection,
395  const char* fieldAssociation, const char* attributeTypeorName);
396 
401 
402  // from here down are convenience methods that really are executive methods
403 
408 
414 
419  vtkDataObject* GetInputDataObject(int port, int connection);
420 
422 
435  virtual void SetInputConnection(int port, vtkAlgorithmOutput* input);
438 
440 
449  virtual void AddInputConnection(int port, vtkAlgorithmOutput* input);
452 
462  virtual void RemoveInputConnection(int port, vtkAlgorithmOutput* input);
463 
467  virtual void RemoveInputConnection(int port, int idx);
468 
472  virtual void RemoveAllInputConnections(int port);
473 
483  virtual void SetInputDataObject(vtkDataObject* data) { this->SetInputDataObject(0, data); }
484 
491  virtual void AddInputDataObject(vtkDataObject* data) { this->AddInputDataObject(0, data); }
492 
501 
506 
511 
516 
521  vtkAlgorithm* GetInputAlgorithm(int port, int index, int& algPort);
522 
527 
532 
538 
543 
553 
558 
567 
569 
572  virtual void Update(int port);
573  virtual void Update();
575 
598  virtual vtkTypeBool Update(int port, vtkInformationVector* requests);
599 
605  virtual vtkTypeBool Update(vtkInformation* requests);
606 
613  virtual int UpdatePiece(
614  int piece, int numPieces, int ghostLevels, const int extents[6] = nullptr);
615 
621  virtual int UpdateExtent(const int extents[6]);
622 
629  virtual int UpdateTimeStep(double time, int piece = -1, int numPieces = 1, int ghostLevels = 0,
630  const int extents[6] = nullptr);
631 
635  virtual void UpdateInformation();
636 
640  virtual void UpdateDataObject();
641 
645  virtual void PropagateUpdateExtent();
646 
650  virtual void UpdateWholeExtent();
651 
656  void ConvertTotalInputToPortConnection(int ind, int& port, int& conn);
657 
658  //======================================================================
659  // The following block of code is to support old style VTK applications. If
660  // you are using these calls there are better ways to do it in the new
661  // pipeline
662  //======================================================================
663 
665 
673 
674  //========================================================================
675 
677 
684  int UpdateExtentIsEmpty(vtkInformation* pinfo, int extentType);
686 
692 
694 
699  int* GetUpdateExtent() VTK_SIZEHINT(6) { return this->GetUpdateExtent(0); }
701  void GetUpdateExtent(int& x0, int& x1, int& y0, int& y1, int& z0, int& z1)
702  {
703  this->GetUpdateExtent(0, x0, x1, y0, y1, z0, z1);
704  }
705  void GetUpdateExtent(int port, int& x0, int& x1, int& y0, int& y1, int& z0, int& z1);
706  void GetUpdateExtent(int extent[6]) { this->GetUpdateExtent(0, extent); }
707  void GetUpdateExtent(int port, int extent[6]);
709 
711 
716  int GetUpdatePiece() { return this->GetUpdatePiece(0); }
720  int GetUpdateGhostLevel() { return this->GetUpdateGhostLevel(0); }
723 
725 
735  vtkGetObjectMacro(ProgressObserver, vtkProgressObserver);
737 
738 protected:
740  ~vtkAlgorithm() override;
741 
742  // Time stamp to store the last time any filter was aborted.
744 
745  // Time stamp to store the last time this filter checked for an
746  // abort.
748 
749  // Keys used to indicate that input/output port information has been
750  // filled.
752 
753  // Arbitrary extra information associated with this algorithm
755 
761 
768 
775 
779  virtual void SetNumberOfInputPorts(int n);
780 
784  virtual void SetNumberOfOutputPorts(int n);
785 
786  // Helper methods to check input/output port index ranges.
787  int InputPortIndexInRange(int index, const char* action);
788  int OutputPortIndexInRange(int index, const char* action);
789 
794  int GetInputArrayAssociation(int idx, vtkInformationVector** inputVector);
795 
797 
805  int GetInputArrayAssociation(int idx, int connection, vtkInformationVector** inputVector);
808 
810 
816  int idx, vtkInformationVector** inputVector, int& association);
818 
820 
828  vtkDataArray* GetInputArrayToProcess(int idx, int connection, vtkInformationVector** inputVector);
830  int idx, int connection, vtkInformationVector** inputVector, int& association);
832  vtkDataArray* GetInputArrayToProcess(int idx, vtkDataObject* input, int& association);
834 
836 
842  int idx, vtkInformationVector** inputVector, int& association);
844 
846 
855  int idx, int connection, vtkInformationVector** inputVector);
857  int idx, int connection, vtkInformationVector** inputVector, int& association);
859  vtkAbstractArray* GetInputAbstractArrayToProcess(int idx, vtkDataObject* input, int& association);
861 
870 
878 
880 
884  vtkSetMacro(ErrorCode, unsigned long);
885  unsigned long ErrorCode;
887 
888  // Progress/Update handling
889  double Progress;
891 
892  // Garbage collection support.
894 
895  // executive methods below
896 
903  virtual void SetNthInputConnection(int port, int index, vtkAlgorithmOutput* input);
904 
911  virtual void SetNumberOfInputConnections(int port, int n);
912 
914 
922  {
923  this->SetInputDataObject(port, input);
924  }
926  {
927  this->AddInputDataObject(port, input);
928  }
929 
931 
932 private:
933  vtkExecutive* Executive;
934  vtkInformationVector* InputPortInformation;
935  vtkInformationVector* OutputPortInformation;
936  vtkAlgorithmInternals* AlgorithmInternal;
937  static void ConnectionAdd(
938  vtkAlgorithm* producer, int producerPort, vtkAlgorithm* consumer, int consumerPort);
939  static void ConnectionRemove(
940  vtkAlgorithm* producer, int producerPort, vtkAlgorithm* consumer, int consumerPort);
941  static void ConnectionRemoveAllInput(vtkAlgorithm* consumer, int port);
942  static void ConnectionRemoveAllOutput(vtkAlgorithm* producer, int port);
943 
944  vtkAlgorithm(const vtkAlgorithm&) = delete;
945  void operator=(const vtkAlgorithm&) = delete;
946 
947  double ProgressShift;
948  double ProgressScale;
949  vtkAlgorithm* ContainerAlgorithm;
950  bool AbortOutput;
951 };
952 
953 VTK_ABI_NAMESPACE_END
954 #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:52
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:720
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:491
virtual void SetInputDataObject(vtkDataObject *data)
Definition: vtkAlgorithm.h:483
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:706
int GetUpdatePiece()
These functions return the update extent for output ports that use piece extents.
Definition: vtkAlgorithm.h:716
vtkInformation * Information
Definition: vtkAlgorithm.h:754
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:542
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:235
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.
Definition: vtkAlgorithm.h:921
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:557
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:531
unsigned long ErrorCode
The error code contains a possible error that occurred while reading or writing the file.
Definition: vtkAlgorithm.h:884
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:743
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:239
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
Definition: vtkAlgorithm.h:890
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.
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:192
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:289
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:500
int GetUpdateNumberOfPieces()
These functions return the update extent for output ports that use piece extents.
Definition: vtkAlgorithm.h:718
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:79
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:701
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:747
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:699
vtkInformation * GetOutputInformation(int port)
Return the information object that is associated with a particular output port.
vtkProgressObserver * ProgressObserver
Definition: vtkAlgorithm.h:930
virtual void UpdateInformation()
Bring the algorithm's information up-to-date.
void AddInputDataInternal(int port, vtkDataObject *input)
Definition: vtkAlgorithm.h:925
~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)
double Progress
Definition: vtkAlgorithm.h:889
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
Definition: vtkAlgorithm.h:913
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:45
general representation of visualization data
Definition: vtkDataObject.h:55
Superclass for all pipeline executives in VTK.
Definition: vtkExecutive.h:39
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.
abstract base class for most VTK objects
Definition: vtkObject.h:52
Basic class to optionally replace vtkAlgorithm progress functionality.
record modification and/or execution time
Definition: vtkTimeStamp.h:25
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()
@ 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(...)