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