35 #ifndef vtkAlgorithm_h 36 #define vtkAlgorithm_h 38 #include "vtkCommonExecutionModelModule.h" 42 class vtkAlgorithmInternals;
186 int GetNumberOfInputPorts();
191 int GetNumberOfOutputPorts();
215 vtkGetMacro(Progress,
double);
222 VTK_LEGACY(
void SetProgress(
double));
229 void UpdateProgress(
double amount);
244 void SetProgressShiftScale(
double shift,
double scale);
245 vtkGetMacro(ProgressShift,
double);
246 vtkGetMacro(ProgressScale,
double);
257 void SetProgressText(
const char* ptext);
258 vtkGetStringMacro(ProgressText);
266 vtkGetMacro(ErrorCode,
unsigned long);
335 virtual void SetInputArrayToProcess(
336 int idx,
int port,
int connection,
int fieldAssociation,
const char*
name);
337 virtual void SetInputArrayToProcess(
338 int idx,
int port,
int connection,
int fieldAssociation,
int fieldAttributeType);
365 virtual void SetInputArrayToProcess(
int idx,
int port,
int connection,
366 const char* fieldAssociation,
const char* attributeTypeorName);
378 void RemoveAllInputs();
438 virtual void RemoveInputConnection(
int port,
int idx);
443 virtual void RemoveAllInputConnections(
int port);
476 int GetNumberOfInputConnections(
int port);
481 int GetTotalNumberOfInputConnections();
543 virtual void Update(
int port);
544 virtual void Update();
584 virtual int UpdatePiece(
585 int piece,
int numPieces,
int ghostLevels,
const int extents[6] =
nullptr);
592 virtual int UpdateExtent(
const int extents[6]);
600 virtual int UpdateTimeStep(
double time,
int piece = -1,
int numPieces = 1,
int ghostLevels = 0,
601 const int extents[6] =
nullptr);
606 virtual void UpdateInformation();
611 virtual void UpdateDataObject();
616 virtual void PropagateUpdateExtent();
621 virtual void UpdateWholeExtent();
627 void ConvertTotalInputToPortConnection(
int ind,
int&
port,
int& conn);
639 virtual void SetReleaseDataFlag(
int);
640 virtual int GetReleaseDataFlag();
641 void ReleaseDataFlagOn();
642 void ReleaseDataFlagOff();
662 static void SetDefaultExecutivePrototype(
vtkExecutive* proto);
674 this->GetUpdateExtent(0, x0, x1, y0, y1, z0, z1);
676 void GetUpdateExtent(
int port,
int& x0,
int& x1,
int& y0,
int& y1,
int& z0,
int& z1);
678 void GetUpdateExtent(
int port,
int extent[6]);
688 int GetUpdatePiece(
int port);
690 int GetUpdateNumberOfPieces(
int port);
692 int GetUpdateGhostLevel(
int port);
737 virtual void SetNumberOfInputPorts(
int n);
742 virtual void SetNumberOfOutputPorts(
int n);
745 int InputPortIndexInRange(
int index,
const char* action);
746 int OutputPortIndexInRange(
int index,
const char* action);
842 vtkSetMacro(ErrorCode,
unsigned long);
869 virtual void SetNumberOfInputConnections(
int port,
int n);
881 this->SetInputDataObject(
port, input);
885 this->AddInputDataObject(
port, input);
894 vtkAlgorithmInternals* AlgorithmInternal;
895 static void ConnectionAdd(
897 static void ConnectionRemove(
906 double ProgressShift;
907 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