32 #ifndef vtkAlgorithm_h 33 #define vtkAlgorithm_h 35 #include "vtkCommonExecutionModelModule.h" 39 class vtkAlgorithmInternals;
143 int requestFromOutputPort,
182 int GetNumberOfInputPorts();
187 int GetNumberOfOutputPorts();
203 vtkGetMacro(AbortExecute,
int);
211 vtkSetClampMacro(Progress,
double,0.0,1.0);
212 vtkGetMacro(Progress,
double);
220 void UpdateProgress(
double amount);
230 void SetProgressText(
const char* ptext);
239 vtkGetMacro( ErrorCode,
unsigned long );
309 virtual void SetInputArrayToProcess(
int idx,
int port,
int connection,
310 int fieldAssociation,
312 virtual void SetInputArrayToProcess(
int idx,
int port,
int connection,
313 int fieldAssociation,
314 int fieldAttributeType);
341 virtual void SetInputArrayToProcess(
int idx,
int port,
int connection,
342 const char* fieldAssociation,
343 const char* attributeTypeorName);
357 void RemoveAllInputs();
418 virtual void RemoveInputConnection(
int port,
int idx);
423 virtual void RemoveAllInputConnections(
int port);
435 { this->SetInputDataObject(0, data); }
444 { this->AddInputDataObject(0, data); }
454 return this->GetOutputPort(0); }
459 int GetNumberOfInputConnections(
int port);
464 int GetTotalNumberOfInputConnections();
475 vtkAlgorithm* GetInputAlgorithm(
int port,
int index,
int& algPort);
487 return this->GetInputAlgorithm(0, 0);
501 return this->GetInputExecutive(0, 0);
519 return this->GetInputInformation(0, 0);
535 virtual void Update(
int port);
576 virtual int UpdatePiece(
577 int piece,
int numPieces,
int ghostLevels,
const int extents[6]=0);
584 virtual int UpdateExtent(
const int extents[6]);
592 virtual int UpdateTimeStep(
double time,
593 int piece=-1,
int numPieces=1,
int ghostLevels=0,
const int extents[6]=0);
598 virtual void UpdateInformation();
603 virtual void UpdateDataObject();
608 virtual void PropagateUpdateExtent();
613 virtual void UpdateWholeExtent();
619 void ConvertTotalInputToPortConnection(
int ind,
int& port,
int& conn);
631 virtual void SetReleaseDataFlag(
int);
632 virtual int GetReleaseDataFlag();
633 void ReleaseDataFlagOn();
634 void ReleaseDataFlagOff();
654 static void SetDefaultExecutivePrototype(
vtkExecutive* proto);
661 VTK_LEGACY(
int SetUpdateExtentToWholeExtent(
int port));
668 VTK_LEGACY(
int SetUpdateExtentToWholeExtent());
673 VTK_LEGACY(
void SetUpdateExtent(
int port,
674 int piece,
int numPieces,
int ghostLevel));
680 VTK_LEGACY(
void SetUpdateExtent(
681 int piece,
int numPieces,
int ghostLevel));
686 VTK_LEGACY(
void SetUpdateExtent(
int port,
int extent[6]));
691 VTK_LEGACY(
void SetUpdateExtent(
int extent[6]));
701 return this->GetUpdateExtent(0);
703 int* GetUpdateExtent(
int port);
707 this->GetUpdateExtent(0, x0, x1, y0, y1, z0, z1);
709 void GetUpdateExtent(
int port,
710 int& x0,
int& x1,
int& y0,
int& y1,
714 this->GetUpdateExtent(0, extent);
716 void GetUpdateExtent(
int port,
int extent[6]);
727 return this->GetUpdatePiece(0);
729 int GetUpdatePiece(
int port);
732 return this->GetUpdateNumberOfPieces(0);
734 int GetUpdateNumberOfPieces(
int port);
737 return this->GetUpdateGhostLevel(0);
739 int GetUpdateGhostLevel(
int port);
784 virtual void SetNumberOfInputPorts(
int n);
789 virtual void SetNumberOfOutputPorts(
int n);
792 int InputPortIndexInRange(
int index,
const char* action);
793 int OutputPortIndexInRange(
int index,
const char* action);
810 int GetInputArrayAssociation(
int idx,
int connection,
929 virtual void SetNthInputConnection(
int port,
int index,
938 virtual void SetNumberOfInputConnections(
int port,
int n);
949 { this->SetInputDataObject(port, input); }
951 { this->AddInputDataObject(port, input); }
959 vtkAlgorithmInternals* AlgorithmInternal;
960 static void ConnectionAdd(
vtkAlgorithm* producer,
int producerPort,
962 static void ConnectionRemove(
vtkAlgorithm* producer,
int producerPort,
964 static void ConnectionRemoveAllInput(
vtkAlgorithm* consumer,
int port);
965 static void ConnectionRemoveAllOutput(
vtkAlgorithm* producer,
int port);
969 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. ...
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)
virtual void Update()
Updates the extensions string.
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
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)
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. ...
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.
static vtkExecutive * DefaultExecutivePrototype