40 #ifndef __vtkAlgorithm_h
41 #define __vtkAlgorithm_h
43 #include "vtkCommonExecutionModelModule.h"
47 class vtkAlgorithmInternals;
132 int requestFromOutputPort,
133 unsigned long* mtime);
162 int GetNumberOfInputPorts();
165 int GetNumberOfOutputPorts();
176 vtkSetMacro(AbortExecute,
int);
177 vtkGetMacro(AbortExecute,
int);
178 vtkBooleanMacro(AbortExecute,
int);
183 vtkSetClampMacro(Progress,
double,0.0,1.0);
184 vtkGetMacro(Progress,
double);
190 void UpdateProgress(
double amount);
198 void SetProgressText(
const char* ptext);
199 vtkGetStringMacro(ProgressText);
205 vtkGetMacro( ErrorCode,
unsigned long );
230 virtual void SetInputArrayToProcess(
int idx,
int port,
int connection,
231 int fieldAssociation,
233 virtual void SetInputArrayToProcess(
int idx,
int port,
int connection,
234 int fieldAssociation,
235 int fieldAttributeType);
236 virtual void SetInputArrayToProcess(
int idx,
vtkInformation *info);
254 virtual void SetInputArrayToProcess(
int idx,
int port,
int connection,
255 const char* fieldAssociation,
256 const char* attributeTypeorName);
267 void RemoveAllInputs();
313 virtual void RemoveInputConnection(
int port,
int idx);
316 virtual void RemoveAllInputConnections(
int port);
326 virtual void SetInputDataObject(
int port,
vtkDataObject* data);
328 { this->SetInputDataObject(0, data); }
335 virtual void AddInputDataObject(
int port,
vtkDataObject* data);
337 { this->AddInputDataObject(0, data); }
347 return this->GetOutputPort(0); }
351 int GetNumberOfInputConnections(
int port);
354 int GetTotalNumberOfInputConnections();
361 vtkAlgorithm* GetInputAlgorithm(
int port,
int index,
int& algPort);
370 return this->GetInputAlgorithm(0, 0);
381 return this->GetInputExecutive(0, 0);
397 return this->GetInputInformation(0, 0);
409 virtual void Update(
int port);
410 virtual void Update();
415 virtual void UpdateInformation();
418 virtual void PropagateUpdateExtent();
421 virtual void UpdateWholeExtent();
425 void ConvertTotalInputToPortConnection(
int ind,
int& port,
int& conn);
435 virtual void SetReleaseDataFlag(
int);
436 virtual int GetReleaseDataFlag();
437 void ReleaseDataFlagOn();
438 void ReleaseDataFlagOff();
454 static void SetDefaultExecutivePrototype(
vtkExecutive* proto);
459 virtual double ComputePriority();
477 int SetUpdateExtentToWholeExtent(
int port);
482 int SetUpdateExtentToWholeExtent();
486 void SetUpdateExtent(
int port,
487 int piece,
int numPieces,
int ghostLevel);
495 this->SetUpdateExtent(0, piece, numPieces, ghostLevel);
500 void SetUpdateExtent(
int port,
int extent[6]);
506 this->SetUpdateExtent(0, extent);
515 return this->GetUpdateExtent(0);
517 int* GetUpdateExtent(
int port);
521 this->GetUpdateExtent(0, x0, x1, y0, y1, z0, z1);
523 void GetUpdateExtent(
int port,
524 int& x0,
int& x1,
int& y0,
int& y1,
528 this->GetUpdateExtent(0, extent);
530 void GetUpdateExtent(
int port,
int extent[6]);
538 return this->GetUpdatePiece(0);
540 int GetUpdatePiece(
int port);
543 return this->GetUpdateNumberOfPieces(0);
545 int GetUpdateNumberOfPieces(
int port);
548 return this->GetUpdateGhostLevel(0);
550 int GetUpdateGhostLevel(
int port);
567 virtual int FillInputPortInformation(
int port,
vtkInformation* info);
572 virtual int FillOutputPortInformation(
int port,
vtkInformation* info);
575 virtual void SetNumberOfInputPorts(
int n);
578 virtual void SetNumberOfOutputPorts(
int n);
581 int InputPortIndexInRange(
int index,
const char* action);
582 int OutputPortIndexInRange(
int index,
const char* action);
596 int GetInputArrayAssociation(
int idx,
int connection,
684 vtkSetMacro( ErrorCode,
unsigned long );
702 virtual void SetNthInputConnection(
int port,
int index,
710 virtual void SetNumberOfInputConnections(
int port,
int n);
720 { this->SetInputDataObject(port, input); }
722 { this->AddInputDataObject(port, input); }
729 vtkAlgorithmInternals* AlgorithmInternal;
730 static void ConnectionAdd(
vtkAlgorithm* producer,
int producerPort,
732 static void ConnectionRemove(
vtkAlgorithm* producer,
int producerPort,
734 static void ConnectionRemoveAllInput(
vtkAlgorithm* consumer,
int port);
735 static void ConnectionRemoveAllOutput(
vtkAlgorithm* producer,
int port);
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()
helper class to get VTK data object types as string and instantiate them
vtkExecutive * GetInputExecutive()
void GetUpdateExtent(int &x0, int &x1, int &y0, int &y1, int &z0, int &z1)
static vtkExecutive * DefaultExecutivePrototype