41 #ifndef vtkAlgorithm_h
42 #define vtkAlgorithm_h
44 #include "vtkCommonExecutionModelModule.h"
48 class vtkAlgorithmInternals;
192 int GetNumberOfInputPorts();
197 int GetNumberOfOutputPorts();
220 vtkGetMacro(Progress,
double);
228 void UpdateProgress(
double amount);
243 void SetProgressShiftScale(
double shift,
double scale);
244 vtkGetMacro(ProgressShift,
double);
245 vtkGetMacro(ProgressScale,
double);
256 void SetProgressText(
const char* ptext);
257 vtkGetStringMacro(ProgressText);
265 vtkGetMacro(ErrorCode,
unsigned long);
334 virtual void SetInputArrayToProcess(
335 int idx,
int port,
int connection,
int fieldAssociation,
const char*
name);
336 virtual void SetInputArrayToProcess(
337 int idx,
int port,
int connection,
int fieldAssociation,
int fieldAttributeType);
364 virtual void SetInputArrayToProcess(
int idx,
int port,
int connection,
365 const char* fieldAssociation,
const char* attributeTypeorName);
377 void RemoveAllInputs();
437 virtual void RemoveInputConnection(
int port,
int idx);
442 virtual void RemoveAllInputConnections(
int port);
475 int GetNumberOfInputConnections(
int port);
480 int GetTotalNumberOfInputConnections();
542 virtual void Update(
int port);
543 virtual void Update();
583 virtual int UpdatePiece(
584 int piece,
int numPieces,
int ghostLevels,
const int extents[6] =
nullptr);
591 virtual int UpdateExtent(
const int extents[6]);
599 virtual int UpdateTimeStep(
double time,
int piece = -1,
int numPieces = 1,
int ghostLevels = 0,
600 const int extents[6] =
nullptr);
605 virtual void UpdateInformation();
610 virtual void UpdateDataObject();
615 virtual void PropagateUpdateExtent();
620 virtual void UpdateWholeExtent();
626 void ConvertTotalInputToPortConnection(
int ind,
int&
port,
int& conn);
638 virtual void SetReleaseDataFlag(
int);
639 virtual int GetReleaseDataFlag();
640 void ReleaseDataFlagOn();
641 void ReleaseDataFlagOff();
661 static void SetDefaultExecutivePrototype(
vtkExecutive* proto);
673 this->GetUpdateExtent(0, x0, x1, y0, y1, z0, z1);
675 void GetUpdateExtent(
int port,
int& x0,
int& x1,
int& y0,
int& y1,
int& z0,
int& z1);
677 void GetUpdateExtent(
int port,
int extent[6]);
687 int GetUpdatePiece(
int port);
689 int GetUpdateNumberOfPieces(
int port);
691 int GetUpdateGhostLevel(
int port);
736 virtual void SetNumberOfInputPorts(
int n);
741 virtual void SetNumberOfOutputPorts(
int n);
744 int InputPortIndexInRange(
int index,
const char* action);
745 int OutputPortIndexInRange(
int index,
const char* action);
841 vtkSetMacro(ErrorCode,
unsigned long);
868 virtual void SetNumberOfInputConnections(
int port,
int n);
880 this->SetInputDataObject(port, input);
884 this->AddInputDataObject(port, input);
893 vtkAlgorithmInternals* AlgorithmInternal;
894 static void ConnectionAdd(
896 static void ConnectionRemove(
905 double ProgressShift;
906 double ProgressScale;
vtkAlgorithmOutput * GetOutputPort()
abstract base class for most VTK objects
DesiredOutputPrecision
Values used for setting the desired output precision for various algorithms.
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
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
#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. ...
bool UsesGarbageCollector() const override
Participate in garbage collection.
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