41 #ifndef vtkAlgorithm_h
42 #define vtkAlgorithm_h
44 #include "vtkCommonExecutionModelModule.h"
48 class vtkAlgorithmInternals;
192 int GetNumberOfInputPorts();
197 int GetNumberOfOutputPorts();
221 vtkGetMacro(Progress,
double);
228 VTK_LEGACY(
void SetProgress(
double));
235 void UpdateProgress(
double amount);
250 void SetProgressShiftScale(
double shift,
double scale);
251 vtkGetMacro(ProgressShift,
double);
252 vtkGetMacro(ProgressScale,
double);
263 void SetProgressText(
const char* ptext);
264 vtkGetStringMacro(ProgressText);
272 vtkGetMacro(ErrorCode,
unsigned long);
341 virtual void SetInputArrayToProcess(
342 int idx,
int port,
int connection,
int fieldAssociation,
const char*
name);
343 virtual void SetInputArrayToProcess(
344 int idx,
int port,
int connection,
int fieldAssociation,
int fieldAttributeType);
371 virtual void SetInputArrayToProcess(
int idx,
int port,
int connection,
372 const char* fieldAssociation,
const char* attributeTypeorName);
384 void RemoveAllInputs();
444 virtual void RemoveInputConnection(
int port,
int idx);
449 virtual void RemoveAllInputConnections(
int port);
482 int GetNumberOfInputConnections(
int port);
487 int GetTotalNumberOfInputConnections();
549 virtual void Update(
int port);
550 virtual void Update();
590 virtual int UpdatePiece(
591 int piece,
int numPieces,
int ghostLevels,
const int extents[6] =
nullptr);
598 virtual int UpdateExtent(
const int extents[6]);
606 virtual int UpdateTimeStep(
double time,
int piece = -1,
int numPieces = 1,
int ghostLevels = 0,
607 const int extents[6] =
nullptr);
612 virtual void UpdateInformation();
617 virtual void UpdateDataObject();
622 virtual void PropagateUpdateExtent();
627 virtual void UpdateWholeExtent();
633 void ConvertTotalInputToPortConnection(
int ind,
int&
port,
int& conn);
645 virtual void SetReleaseDataFlag(
int);
646 virtual int GetReleaseDataFlag();
647 void ReleaseDataFlagOn();
648 void ReleaseDataFlagOff();
668 static void SetDefaultExecutivePrototype(
vtkExecutive* proto);
680 this->GetUpdateExtent(0, x0, x1, y0, y1, z0, z1);
682 void GetUpdateExtent(
int port,
int& x0,
int& x1,
int& y0,
int& y1,
int& z0,
int& z1);
684 void GetUpdateExtent(
int port,
int extent[6]);
694 int GetUpdatePiece(
int port);
696 int GetUpdateNumberOfPieces(
int port);
698 int GetUpdateGhostLevel(
int port);
743 virtual void SetNumberOfInputPorts(
int n);
748 virtual void SetNumberOfOutputPorts(
int n);
751 int InputPortIndexInRange(
int index,
const char* action);
752 int OutputPortIndexInRange(
int index,
const char* action);
848 vtkSetMacro(ErrorCode,
unsigned long);
875 virtual void SetNumberOfInputConnections(
int port,
int n);
887 this->SetInputDataObject(
port, input);
891 this->AddInputDataObject(
port, input);
900 vtkAlgorithmInternals* AlgorithmInternal;
901 static void ConnectionAdd(
903 static void ConnectionRemove(
912 double ProgressShift;
913 double ProgressScale;