38 #ifndef vtkAlgorithm_h
39 #define vtkAlgorithm_h
41 #include "vtkCommonExecutionModelModule.h"
45 class vtkAlgorithmInternals;
149 int requestFromOutputPort,
188 int GetNumberOfInputPorts();
193 int GetNumberOfOutputPorts();
209 vtkGetMacro(AbortExecute,
int);
217 vtkSetClampMacro(Progress,
double,0.0,1.0);
218 vtkGetMacro(Progress,
double);
226 void UpdateProgress(
double amount);
236 void SetProgressText(
const char* ptext);
245 vtkGetMacro( ErrorCode,
unsigned long );
315 virtual void SetInputArrayToProcess(
int idx,
int port,
int connection,
316 int fieldAssociation,
318 virtual void SetInputArrayToProcess(
int idx,
int port,
int connection,
319 int fieldAssociation,
320 int fieldAttributeType);
347 virtual void SetInputArrayToProcess(
int idx,
int port,
int connection,
348 const char* fieldAssociation,
349 const char* attributeTypeorName);
363 void RemoveAllInputs();
424 virtual void RemoveInputConnection(
int port,
int idx);
429 virtual void RemoveAllInputConnections(
int port);
441 { this->SetInputDataObject(0, data); }
450 { this->AddInputDataObject(0, data); }
460 return this->GetOutputPort(0); }
465 int GetNumberOfInputConnections(
int port);
470 int GetTotalNumberOfInputConnections();
493 return this->GetInputAlgorithm(0, 0);
507 return this->GetInputExecutive(0, 0);
525 return this->GetInputInformation(0, 0);
582 virtual int UpdatePiece(
583 int piece,
int numPieces,
int ghostLevels,
const int extents[6]=0);
590 virtual int UpdateExtent(
const int extents[6]);
598 virtual int UpdateTimeStep(
double time,
599 int piece=-1,
int numPieces=1,
int ghostLevels=0,
const int extents[6]=0);
604 virtual void UpdateInformation();
609 virtual void UpdateDataObject();
614 virtual void PropagateUpdateExtent();
619 virtual void UpdateWholeExtent();
625 void ConvertTotalInputToPortConnection(
int ind,
int&
port,
int& conn);
637 virtual void SetReleaseDataFlag(
int);
638 virtual int GetReleaseDataFlag();
639 void ReleaseDataFlagOn();
640 void ReleaseDataFlagOff();
660 static void SetDefaultExecutivePrototype(
vtkExecutive* proto);
667 VTK_LEGACY(
int SetUpdateExtentToWholeExtent(
int port));
674 VTK_LEGACY(
int SetUpdateExtentToWholeExtent());
679 VTK_LEGACY(
void SetUpdateExtent(
int port,
680 int piece,
int numPieces,
int ghostLevel));
686 VTK_LEGACY(
void SetUpdateExtent(
687 int piece,
int numPieces,
int ghostLevel));
692 VTK_LEGACY(
void SetUpdateExtent(
int port,
int extent[6]));
697 VTK_LEGACY(
void SetUpdateExtent(
int extent[6]));
707 return this->GetUpdateExtent(0);
709 int* GetUpdateExtent(
int port);
713 this->GetUpdateExtent(0, x0, x1, y0, y1, z0, z1);
715 void GetUpdateExtent(
int port,
716 int& x0,
int& x1,
int& y0,
int& y1,
720 this->GetUpdateExtent(0, extent);
722 void GetUpdateExtent(
int port,
int extent[6]);
733 return this->GetUpdatePiece(0);
735 int GetUpdatePiece(
int port);
738 return this->GetUpdateNumberOfPieces(0);
740 int GetUpdateNumberOfPieces(
int port);
743 return this->GetUpdateGhostLevel(0);
745 int GetUpdateGhostLevel(
int port);
785 virtual
int FillOutputPortInformation(
int port,
vtkInformation* info);
790 virtual
void SetNumberOfInputPorts(
int n);
795 virtual
void SetNumberOfOutputPorts(
int n);
798 int InputPortIndexInRange(
int index, const
char* action);
799 int OutputPortIndexInRange(
int index, const
char* action);
816 int GetInputArrayAssociation(
int idx,
int connection,
917 unsigned long ErrorCode;
935 virtual
void SetNthInputConnection(
int port,
int index,
944 virtual
void SetNumberOfInputConnections(
int port,
int n);
955 { this->SetInputDataObject(port, input); }
957 { this->AddInputDataObject(port, input); }
965 vtkAlgorithmInternals* AlgorithmInternal;
966 static void ConnectionAdd(
vtkAlgorithm* producer,
int producerPort,
968 static void ConnectionRemove(
vtkAlgorithm* producer,
int producerPort,
975 void operator=(const
vtkAlgorithm&) VTK_DELETE_FUNCTION;
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. ...
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)
virtual void Update()
Updates the extensions string.
Superclass for all pipeline executives in VTK.
vtkTypeUInt64 vtkMTimeType
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.
virtual void UnRegister(vtkObjectBase *o)
Decrease the reference count (release by another object).
a simple class to control print indentation
int GetUpdateNumberOfPieces()
These functions return the update extent for output ports that use piece extents. ...
abstract superclass for arrays of numeric data
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
abstract base class for most VTK objects
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
virtual void SetInputDataObject(vtkDataObject *data)
create and manipulate unsorted lists of objects
int GetUpdateGhostLevel()
These functions return the update extent for output ports that use piece extents. ...
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
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.