38 #ifndef vtkAlgorithm_h
39 #define vtkAlgorithm_h
41 #include "vtkCommonExecutionModelModule.h"
45 class vtkAlgorithmInternals;
150 int requestFromOutputPort,
189 int GetNumberOfInputPorts();
194 int GetNumberOfOutputPorts();
218 vtkSetClampMacro(Progress,
double,0.0,1.0);
219 vtkGetMacro(Progress,
double);
227 void UpdateProgress(
double amount);
237 void SetProgressText(
const char* ptext);
238 vtkGetStringMacro(ProgressText);
246 vtkGetMacro( ErrorCode,
unsigned long );
316 virtual void SetInputArrayToProcess(
int idx,
int port,
int connection,
317 int fieldAssociation,
319 virtual void SetInputArrayToProcess(
int idx,
int port,
int connection,
320 int fieldAssociation,
321 int fieldAttributeType);
348 virtual void SetInputArrayToProcess(
int idx,
int port,
int connection,
349 const char* fieldAssociation,
350 const char* attributeTypeorName);
364 void RemoveAllInputs();
425 virtual void RemoveInputConnection(
int port,
int idx);
430 virtual void RemoveAllInputConnections(
int port);
442 { this->SetInputDataObject(0,
data); }
451 { this->AddInputDataObject(0,
data); }
461 return this->GetOutputPort(0); }
466 int GetNumberOfInputConnections(
int port);
471 int GetTotalNumberOfInputConnections();
494 return this->GetInputAlgorithm(0, 0);
508 return this->GetInputExecutive(0, 0);
526 return this->GetInputInformation(0, 0);
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,
600 int piece=-1,
int numPieces=1,
int ghostLevels=0,
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);
671 return this->GetUpdateExtent(0);
677 this->GetUpdateExtent(0, x0, x1, y0, y1, z0, z1);
679 void GetUpdateExtent(
int port,
680 int& x0,
int& x1,
int& y0,
int& y1,
684 this->GetUpdateExtent(0,
extent);
686 void GetUpdateExtent(
int port,
int extent[6]);
697 return this->GetUpdatePiece(0);
699 int GetUpdatePiece(
int port);
702 return this->GetUpdateNumberOfPieces(0);
704 int GetUpdateNumberOfPieces(
int port);
707 return this->GetUpdateGhostLevel(0);
709 int GetUpdateGhostLevel(
int port);
754 virtual void SetNumberOfInputPorts(
int n);
759 virtual void SetNumberOfOutputPorts(
int n);
762 int InputPortIndexInRange(
int index,
const char* action);
763 int OutputPortIndexInRange(
int index,
const char* action);
780 int GetInputArrayAssociation(
int idx,
int connection,
880 vtkSetMacro( ErrorCode,
unsigned long );
899 virtual void SetNthInputConnection(
int port,
int index,
908 virtual void SetNumberOfInputConnections(
int port,
int n);
919 { this->SetInputDataObject(
port, input); }
921 { this->AddInputDataObject(
port, input); }
929 vtkAlgorithmInternals* AlgorithmInternal;
930 static void ConnectionAdd(
vtkAlgorithm* producer,
int producerPort,
932 static void ConnectionRemove(
vtkAlgorithm* producer,
int producerPort,