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
38 #ifndef vtkAlgorithm_h
39 #define vtkAlgorithm_h
40 
41 #include "vtkCommonExecutionModelModule.h" // For export macro
42 #include "vtkObject.h"
43 
44 VTK_ABI_NAMESPACE_BEGIN
45 class vtkAbstractArray;
46 class vtkAlgorithmInternals;
47 class vtkAlgorithmOutput;
48 class vtkCollection;
49 class vtkDataArray;
50 class vtkDataObject;
51 class vtkExecutive;
52 class vtkInformation;
59 
60 class VTKCOMMONEXECUTIONMODEL_EXPORT vtkAlgorithm : public vtkObject
61 {
62 public:
63  static vtkAlgorithm* New();
64  vtkTypeMacro(vtkAlgorithm, vtkObject);
65  void PrintSelf(ostream& os, vtkIndent indent) override;
66 
88  {
91  DEFAULT_PRECISION
92  };
93 
99 
105 
111  virtual void SetExecutive(vtkExecutive* executive);
112 
137  vtkInformation* request, vtkInformationVector** inInfo, vtkInformationVector* outInfo);
138 
144  vtkInformation* request, vtkCollection* inInfo, vtkInformationVector* outInfo);
145 
151  virtual int ComputePipelineMTime(vtkInformation* request, vtkInformationVector** inInfoVec,
152  vtkInformationVector* outInfoVec, int requestFromOutputPort, vtkMTimeType* mtime);
153 
161  virtual int ModifyRequest(vtkInformation* request, int when);
162 
170 
178 
180 
183  vtkGetObjectMacro(Information, vtkInformation);
186 
191 
196 
198 
201  bool UsesGarbageCollector() const override { return true; }
203 
208 
210 
214  vtkSetMacro(AbortExecute, vtkTypeBool);
215  vtkGetMacro(AbortExecute, vtkTypeBool);
216  vtkBooleanMacro(AbortExecute, vtkTypeBool);
218 
220 
223  vtkGetMacro(Progress, double);
225 
231  void UpdateProgress(double amount);
232 
236  bool CheckAbort();
237 
239 
245  {
246  this->ContainerAlgorithm = containerAlg;
247  };
248  vtkAlgorithm* GetContainerAlgorithm() { return this->ContainerAlgorithm; };
250 
252 
259  vtkSetMacro(AbortOutput, bool);
260  vtkGetMacro(AbortOutput, bool);
262 
264 
276  void SetProgressShiftScale(double shift, double scale);
277  vtkGetMacro(ProgressShift, double);
278  vtkGetMacro(ProgressScale, double);
280 
282 
289  void SetProgressText(const char* ptext);
290  vtkGetStringMacro(ProgressText);
292 
294 
298  vtkGetMacro(ErrorCode, unsigned long);
300 
301  // left public for performance since it is used in inner loops
302  std::atomic<vtkTypeBool> AbortExecute;
303 
333 
343 
357 
363 
365 
374  int idx, int port, int connection, int fieldAssociation, const char* name);
376  int idx, int port, int connection, int fieldAssociation, int fieldAttributeType);
377  virtual void SetInputArrayToProcess(int idx, vtkInformation* info);
379 
403  virtual void SetInputArrayToProcess(int idx, int port, int connection,
404  const char* fieldAssociation, const char* attributeTypeorName);
405 
410 
411  // from here down are convenience methods that really are executive methods
412 
417 
423 
428  vtkDataObject* GetInputDataObject(int port, int connection);
429 
431 
444  virtual void SetInputConnection(int port, vtkAlgorithmOutput* input);
447 
449 
458  virtual void AddInputConnection(int port, vtkAlgorithmOutput* input);
461 
471  virtual void RemoveInputConnection(int port, vtkAlgorithmOutput* input);
472 
476  virtual void RemoveInputConnection(int port, int idx);
477 
481  virtual void RemoveAllInputConnections(int port);
482 
492  virtual void SetInputDataObject(vtkDataObject* data) { this->SetInputDataObject(0, data); }
493 
500  virtual void AddInputDataObject(vtkDataObject* data) { this->AddInputDataObject(0, data); }
501 
510 
515 
520 
525 
530  vtkAlgorithm* GetInputAlgorithm(int port, int index, int& algPort);
531 
536 
541 
547 
552 
562 
567 
576 
578 
581  virtual void Update(int port);
582  virtual void Update();
584 
607  virtual vtkTypeBool Update(int port, vtkInformationVector* requests);
608 
614  virtual vtkTypeBool Update(vtkInformation* requests);
615 
622  virtual int UpdatePiece(
623  int piece, int numPieces, int ghostLevels, const int extents[6] = nullptr);
624 
630  virtual int UpdateExtent(const int extents[6]);
631 
638  virtual int UpdateTimeStep(double time, int piece = -1, int numPieces = 1, int ghostLevels = 0,
639  const int extents[6] = nullptr);
640 
644  virtual void UpdateInformation();
645 
649  virtual void UpdateDataObject();
650 
654  virtual void PropagateUpdateExtent();
655 
659  virtual void UpdateWholeExtent();
660 
665  void ConvertTotalInputToPortConnection(int ind, int& port, int& conn);
666 
667  //======================================================================
668  // The following block of code is to support old style VTK applications. If
669  // you are using these calls there are better ways to do it in the new
670  // pipeline
671  //======================================================================
672 
674 
682 
683  //========================================================================
684 
686 
693  int UpdateExtentIsEmpty(vtkInformation* pinfo, int extentType);
695 
701 
703 
708  int* GetUpdateExtent() VTK_SIZEHINT(6) { return this->GetUpdateExtent(0); }
710  void GetUpdateExtent(int& x0, int& x1, int& y0, int& y1, int& z0, int& z1)
711  {
712  this->GetUpdateExtent(0, x0, x1, y0, y1, z0, z1);
713  }
714  void GetUpdateExtent(int port, int& x0, int& x1, int& y0, int& y1, int& z0, int& z1);
715  void GetUpdateExtent(int extent[6]) { this->GetUpdateExtent(0, extent); }
716  void GetUpdateExtent(int port, int extent[6]);
718 
720 
725  int GetUpdatePiece() { return this->GetUpdatePiece(0); }
729  int GetUpdateGhostLevel() { return this->GetUpdateGhostLevel(0); }
732 
734 
744  vtkGetObjectMacro(ProgressObserver, vtkProgressObserver);
746 
747 protected:
749  ~vtkAlgorithm() override;
750 
751  // Time stamp to store the last time any filter was aborted.
753 
754  // Time stamp to store the last time this filter checked for an
755  // abort.
757 
758  // Keys used to indicate that input/output port information has been
759  // filled.
761 
762  // Arbitrary extra information associated with this algorithm
764 
770 
777 
784 
788  virtual void SetNumberOfInputPorts(int n);
789 
793  virtual void SetNumberOfOutputPorts(int n);
794 
795  // Helper methods to check input/output port index ranges.
796  int InputPortIndexInRange(int index, const char* action);
797  int OutputPortIndexInRange(int index, const char* action);
798 
803  int GetInputArrayAssociation(int idx, vtkInformationVector** inputVector);
804 
806 
814  int GetInputArrayAssociation(int idx, int connection, vtkInformationVector** inputVector);
817 
819 
825  int idx, vtkInformationVector** inputVector, int& association);
827 
829 
837  vtkDataArray* GetInputArrayToProcess(int idx, int connection, vtkInformationVector** inputVector);
839  int idx, int connection, vtkInformationVector** inputVector, int& association);
841  vtkDataArray* GetInputArrayToProcess(int idx, vtkDataObject* input, int& association);
843 
845 
851  int idx, vtkInformationVector** inputVector, int& association);
853 
855 
864  int idx, int connection, vtkInformationVector** inputVector);
866  int idx, int connection, vtkInformationVector** inputVector, int& association);
868  vtkAbstractArray* GetInputAbstractArrayToProcess(int idx, vtkDataObject* input, int& association);
870 
879 
887 
889 
893  vtkSetMacro(ErrorCode, unsigned long);
894  unsigned long ErrorCode;
896 
897  // Progress/Update handling
898  double Progress;
900 
901  // Garbage collection support.
903 
904  // executive methods below
905 
912  virtual void SetNthInputConnection(int port, int index, vtkAlgorithmOutput* input);
913 
920  virtual void SetNumberOfInputConnections(int port, int n);
921 
923 
931  {
932  this->SetInputDataObject(port, input);
933  }
935  {
936  this->AddInputDataObject(port, input);
937  }
938 
940 
941 private:
942  vtkExecutive* Executive;
943  vtkInformationVector* InputPortInformation;
944  vtkInformationVector* OutputPortInformation;
945  vtkAlgorithmInternals* AlgorithmInternal;
946  static void ConnectionAdd(
947  vtkAlgorithm* producer, int producerPort, vtkAlgorithm* consumer, int consumerPort);
948  static void ConnectionRemove(
949  vtkAlgorithm* producer, int producerPort, vtkAlgorithm* consumer, int consumerPort);
950  static void ConnectionRemoveAllInput(vtkAlgorithm* consumer, int port);
951  static void ConnectionRemoveAllOutput(vtkAlgorithm* producer, int port);
952 
953  vtkAlgorithm(const vtkAlgorithm&) = delete;
954  void operator=(const vtkAlgorithm&) = delete;
955 
956  double ProgressShift;
957  double ProgressScale;
958  vtkAlgorithm* ContainerAlgorithm;
959  bool AbortOutput;
960 };
961 
962 VTK_ABI_NAMESPACE_END
963 #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:61
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:729
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:500
virtual void SetInputDataObject(vtkDataObject *data)
Definition: vtkAlgorithm.h:492
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:715
int GetUpdatePiece()
These functions return the update extent for output ports that use piece extents.
Definition: vtkAlgorithm.h:725
vtkInformation * Information
Definition: vtkAlgorithm.h:763
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:551
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:244
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:930
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:566
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:540
unsigned long ErrorCode
The error code contains a possible error that occurred while reading or writing the file.
Definition: vtkAlgorithm.h:893
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:752
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:248
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:899
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:201
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:298
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:509
int GetUpdateNumberOfPieces()
These functions return the update extent for output ports that use piece extents.
Definition: vtkAlgorithm.h:727
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:88
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:710
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:756
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:708
vtkInformation * GetOutputInformation(int port)
Return the information object that is associated with a particular output port.
vtkProgressObserver * ProgressObserver
Definition: vtkAlgorithm.h:939
virtual void UpdateInformation()
Bring the algorithm's information up-to-date.
void AddInputDataInternal(int port, vtkDataObject *input)
Definition: vtkAlgorithm.h:934
~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:898
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:922
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:54
general representation of visualization data
Definition: vtkDataObject.h:64
Superclass for all pipeline executives in VTK.
Definition: vtkExecutive.h:48
Detect and break reference loops.
a simple class to control print indentation
Definition: vtkIndent.h:38
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:61
Basic class to optionally replace vtkAlgorithm progress functionality.
record modification and/or execution time
Definition: vtkTimeStamp.h:34
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(...)