32 #ifndef vtkAlgorithm_h 33 #define vtkAlgorithm_h 35 #include "vtkCommonExecutionModelModule.h" 39 class vtkAlgorithmInternals;
183 int GetNumberOfInputPorts();
188 int GetNumberOfOutputPorts();
212 vtkGetMacro(Progress,
double);
219 VTK_LEGACY(
void SetProgress(
double));
226 void UpdateProgress(
double amount);
241 void SetProgressShiftScale(
double shift,
double scale);
242 vtkGetMacro(ProgressShift,
double);
243 vtkGetMacro(ProgressScale,
double);
254 void SetProgressText(
const char* ptext);
255 vtkGetStringMacro(ProgressText);
263 vtkGetMacro(ErrorCode,
unsigned long);
332 virtual void SetInputArrayToProcess(
333 int idx,
int port,
int connection,
int fieldAssociation,
const char*
name);
334 virtual void SetInputArrayToProcess(
335 int idx,
int port,
int connection,
int fieldAssociation,
int fieldAttributeType);
362 virtual void SetInputArrayToProcess(
int idx,
int port,
int connection,
363 const char* fieldAssociation,
const char* attributeTypeorName);
375 void RemoveAllInputs();
435 virtual void RemoveInputConnection(
int port,
int idx);
440 virtual void RemoveAllInputConnections(
int port);
473 int GetNumberOfInputConnections(
int port);
478 int GetTotalNumberOfInputConnections();
489 vtkAlgorithm* GetInputAlgorithm(
int port,
int index,
int& algPort);
540 virtual void Update(
int port);
541 virtual void Update();
581 virtual int UpdatePiece(
582 int piece,
int numPieces,
int ghostLevels,
const int extents[6] =
nullptr);
589 virtual int UpdateExtent(
const int extents[6]);
597 virtual int UpdateTimeStep(
double time,
int piece = -1,
int numPieces = 1,
int ghostLevels = 0,
598 const int extents[6] =
nullptr);
603 virtual void UpdateInformation();
608 virtual void UpdateDataObject();
613 virtual void PropagateUpdateExtent();
618 virtual void UpdateWholeExtent();
624 void ConvertTotalInputToPortConnection(
int ind,
int& port,
int& conn);
636 virtual void SetReleaseDataFlag(
int);
637 virtual int GetReleaseDataFlag();
638 void ReleaseDataFlagOn();
639 void ReleaseDataFlagOff();
659 static void SetDefaultExecutivePrototype(
vtkExecutive* proto);
671 this->GetUpdateExtent(0, x0, x1, y0, y1, z0, z1);
673 void GetUpdateExtent(
int port,
int& x0,
int& x1,
int& y0,
int& y1,
int& z0,
int& z1);
675 void GetUpdateExtent(
int port,
int extent[6]);
685 int GetUpdatePiece(
int port);
687 int GetUpdateNumberOfPieces(
int port);
689 int GetUpdateGhostLevel(
int port);
734 virtual void SetNumberOfInputPorts(
int n);
739 virtual void SetNumberOfOutputPorts(
int n);
742 int InputPortIndexInRange(
int index,
const char* action);
743 int OutputPortIndexInRange(
int index,
const char* action);
839 vtkSetMacro(ErrorCode,
unsigned long);
866 virtual void SetNumberOfInputConnections(
int port,
int n);
878 this->SetInputDataObject(port, input);
882 this->AddInputDataObject(port, input);
891 vtkAlgorithmInternals* AlgorithmInternal;
892 static void ConnectionAdd(
894 static void ConnectionRemove(
896 static void ConnectionRemoveAllInput(
vtkAlgorithm* consumer,
int port);
897 static void ConnectionRemoveAllOutput(
vtkAlgorithm* producer,
int port);
903 double ProgressShift;
904 double ProgressScale;
vtkAlgorithmOutput * GetOutputPort()
abstract base class for most VTK objects
DesiredOutputPrecision
Values used for setting the desired output precision for various algorithms.
virtual void Register(vtkObjectBase *o)
Increase the reference count (mark as used by another object).
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void GetUpdateExtent(int extent[6])
These functions return the update extent for output ports that use 3D extents.
int GetUpdatePiece()
These functions return the update extent for output ports that use piece extents. ...
vtkTypeUInt32 vtkMTimeType
int * GetUpdateExtent()
These functions return the update extent for output ports that use 3D extents.
Abstract superclass for all arrays.
vtkAlgorithm * GetInputAlgorithm()
Equivalent to GetInputAlgorithm(0, 0).
vtkInformation * GetInputInformation()
Equivalent to GetInputInformation(0, 0)
virtual void AddInputDataObject(vtkDataObject *data)
Superclass for all pipeline executives in VTK.
void SetInputDataInternal(int port, vtkDataObject *input)
These methods are used by subclasses to implement methods to set data objects directly as input...
Detect and break reference loops.
Proxy object to connect input/output ports.
void AddInputDataInternal(int port, vtkDataObject *input)
Superclass for all sources, filters, and sinks in VTK.
vtkInformation * Information
virtual void UnRegister(vtkObjectBase *o)
Decrease the reference count (release by another object).
a simple class to control print indentation
virtual void ReportReferences(vtkGarbageCollector *)
int GetUpdateNumberOfPieces()
These functions return the update extent for output ports that use piece extents. ...
abstract superclass for arrays of numeric data
abstract base class for most VTK objects
#define VTK_SIZEHINT(...)
virtual void SetInputDataObject(vtkDataObject *data)
unsigned long ErrorCode
The error code contains a possible error that occurred while reading or writing the file...
create and manipulate ordered lists of objects
int GetUpdateGhostLevel()
These functions return the update extent for output ports that use piece extents. ...
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkProgressObserver * ProgressObserver
general representation of visualization data
vtkExecutive * GetInputExecutive()
Equivalent to GetInputExecutive(0, 0)
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.
Basic class to optionally replace vtkAlgorithm progress functionality.
static vtkExecutive * DefaultExecutivePrototype