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();
482 vtkAlgorithm* GetInputAlgorithm(
int port,
int index,
int& algPort);
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,
934 static void ConnectionRemoveAllInput(
vtkAlgorithm* consumer,
int port);
935 static void ConnectionRemoveAllOutput(
vtkAlgorithm* producer,
int port);
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