40 #ifndef vtkAlgorithm_h
41 #define vtkAlgorithm_h
47 class vtkAlgorithmInternals;
137 int requestFromOutputPort,
138 unsigned long* mtime);
167 int GetNumberOfInputPorts();
170 int GetNumberOfOutputPorts();
181 vtkSetMacro(AbortExecute,
int);
182 vtkGetMacro(AbortExecute,
int);
183 vtkBooleanMacro(AbortExecute,
int);
188 vtkSetClampMacro(Progress,
double,0.0,1.0);
189 vtkGetMacro(Progress,
double);
195 void UpdateProgress(
double amount);
203 void SetProgressText(
const char* ptext);
204 vtkGetStringMacro(ProgressText);
210 vtkGetMacro( ErrorCode,
unsigned long );
257 virtual void SetInputArrayToProcess(
int idx,
int port,
int connection,
258 int fieldAssociation,
260 virtual void SetInputArrayToProcess(
int idx,
int port,
int connection,
261 int fieldAssociation,
262 int fieldAttributeType);
281 virtual void SetInputArrayToProcess(
int idx,
int port,
int connection,
282 const char* fieldAssociation,
283 const char* attributeTypeorName);
294 void RemoveAllInputs();
340 virtual void RemoveInputConnection(
int port,
int idx);
343 virtual void RemoveAllInputConnections(
int port);
355 { this->SetInputDataObject(0, data); }
364 { this->AddInputDataObject(0, data); }
374 return this->GetOutputPort(0); }
378 int GetNumberOfInputConnections(
int port);
381 int GetTotalNumberOfInputConnections();
397 return this->GetInputAlgorithm(0, 0);
408 return this->GetInputExecutive(0, 0);
424 return this->GetInputInformation(0, 0);
442 virtual void UpdateInformation();
445 virtual void UpdateDataObject();
448 virtual void PropagateUpdateExtent();
451 virtual void UpdateWholeExtent();
455 void ConvertTotalInputToPortConnection(
int ind,
int&
port,
int& conn);
465 virtual void SetReleaseDataFlag(
int);
466 virtual int GetReleaseDataFlag();
467 void ReleaseDataFlagOn();
468 void ReleaseDataFlagOff();
484 static void SetDefaultExecutivePrototype(
vtkExecutive* proto);
490 int SetUpdateExtentToWholeExtent(
int port);
495 int SetUpdateExtentToWholeExtent();
499 void SetUpdateExtent(
int port,
500 int piece,
int numPieces,
int ghostLevel);
508 this->SetUpdateExtent(0, piece, numPieces, ghostLevel);
513 void SetUpdateExtent(
int port,
int extent[6]);
519 this->SetUpdateExtent(0, extent);
528 return this->GetUpdateExtent(0);
530 int* GetUpdateExtent(
int port);
534 this->GetUpdateExtent(0, x0, x1, y0, y1, z0, z1);
536 void GetUpdateExtent(
int port,
537 int& x0,
int& x1,
int& y0,
int& y1,
541 this->GetUpdateExtent(0, extent);
543 void GetUpdateExtent(
int port,
int extent[6]);
551 return this->GetUpdatePiece(0);
553 int GetUpdatePiece(
int port);
556 return this->GetUpdateNumberOfPieces(0);
558 int GetUpdateNumberOfPieces(
int port);
561 return this->GetUpdateGhostLevel(0);
563 int GetUpdateGhostLevel(
int port);
599 virtual void SetNumberOfInputPorts(
int n);
602 virtual void SetNumberOfOutputPorts(
int n);
605 int InputPortIndexInRange(
int index,
const char* action);
606 int OutputPortIndexInRange(
int index,
const char* action);
620 int GetInputArrayAssociation(
int idx,
int connection,
708 vtkSetMacro( ErrorCode,
unsigned long );
726 virtual void SetNthInputConnection(
int port,
int index,
734 virtual void SetNumberOfInputConnections(
int port,
int n);
744 { this->SetInputDataObject(port, input); }
746 { this->AddInputDataObject(port, input); }
755 vtkAlgorithmInternals* AlgorithmInternal;
756 static void ConnectionAdd(
vtkAlgorithm* producer,
int producerPort,
758 static void ConnectionRemove(
vtkAlgorithm* producer,
int producerPort,
#define VTKCOMMONEXECUTIONMODEL_EXPORT
vtkAlgorithmOutput * GetOutputPort()
abstract base class for most VTK objects
virtual void Register(vtkObjectBase *o)
void GetUpdateExtent(int extent[6])
void SetUpdateExtent(int extent[6])
Abstract superclass for all arrays.
vtkAlgorithm * GetInputAlgorithm()
vtkInformation * GetInputInformation()
virtual void AddInputDataObject(vtkDataObject *data)
Superclass for all pipeline executives in VTK.
void SetInputDataInternal(int port, vtkDataObject *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 PrintSelf(ostream &os, vtkIndent indent)
virtual void UnRegister(vtkObjectBase *o)
a simple class to control print indentation
virtual void ReportReferences(vtkGarbageCollector *)
int GetUpdateNumberOfPieces()
abstract superclass for arrays of numeric data
abstract base class for most VTK objects
virtual void SetInputDataObject(vtkDataObject *data)
void SetUpdateExtent(int piece, int numPieces, int ghostLevel)
create and manipulate unsorted lists of objects
int GetUpdateGhostLevel()
vtkProgressObserver * ProgressObserver
general representation of visualization data
vtkExecutive * GetInputExecutive()
void GetUpdateExtent(int &x0, int &x1, int &y0, int &y1, int &z0, int &z1)
Basic class to optionally replace vtkAlgorithm progress functionality.
static vtkExecutive * DefaultExecutivePrototype