40 #ifndef __vtkAlgorithm_h
41 #define __vtkAlgorithm_h
46 class vtkAlgorithmInternals;
72 vtkExecutive* GetExecutive();
77 virtual void SetExecutive(vtkExecutive* executive);
115 int requestFromOutputPort,
116 unsigned long* mtime);
145 int GetNumberOfInputPorts();
148 int GetNumberOfOutputPorts();
159 vtkSetMacro(AbortExecute,
int);
160 vtkGetMacro(AbortExecute,
int);
161 vtkBooleanMacro(AbortExecute,
int);
166 vtkSetClampMacro(Progress,
double,0.0,1.0);
167 vtkGetMacro(Progress,
double);
173 void UpdateProgress(
double amount);
181 void SetProgressText(
const char* ptext);
182 vtkGetStringMacro(ProgressText);
188 vtkGetMacro( ErrorCode,
unsigned long );
213 virtual void SetInputArrayToProcess(
int idx,
int port,
int connection,
214 int fieldAssociation,
216 virtual void SetInputArrayToProcess(
int idx,
int port,
int connection,
217 int fieldAssociation,
218 int fieldAttributeType);
219 virtual void SetInputArrayToProcess(
int idx,
vtkInformation *info);
237 virtual void SetInputArrayToProcess(
int idx,
int port,
int connection,
238 const char* fieldAssociation,
239 const char* attributeTypeorName);
250 void RemoveAllInputs();
302 return this->GetOutputPort(0); }
306 int GetNumberOfInputConnections(
int port);
309 int GetTotalNumberOfInputConnections();
315 virtual void Update();
319 virtual void UpdateInformation();
322 virtual void UpdateWholeExtent();
326 void ConvertTotalInputToPortConnection(
int ind,
int& port,
int& conn);
336 virtual void SetReleaseDataFlag(
int);
337 virtual int GetReleaseDataFlag();
338 void ReleaseDataFlagOn();
339 void ReleaseDataFlagOff();
355 static void SetDefaultExecutivePrototype(vtkExecutive* proto);
360 virtual double ComputePriority();
387 virtual int FillInputPortInformation(
int port,
vtkInformation* info);
392 virtual int FillOutputPortInformation(
int port,
vtkInformation* info);
395 virtual void SetNumberOfInputPorts(
int n);
398 virtual void SetNumberOfOutputPorts(
int n);
401 int InputPortIndexInRange(
int index,
const char* action);
402 int OutputPortIndexInRange(
int index,
const char* action);
416 int GetInputArrayAssociation(
int idx,
int connection,
499 virtual vtkExecutive* CreateDefaultExecutive();
504 vtkSetMacro( ErrorCode,
unsigned long );
522 virtual void SetNthInputConnection(
int port,
int index,
530 virtual void SetNumberOfInputConnections(
int port,
int n);
535 vtkExecutive* Executive;
538 vtkAlgorithmInternals* AlgorithmInternal;
539 static void ConnectionAdd(
vtkAlgorithm* producer,
int producerPort,
541 static void ConnectionRemove(
vtkAlgorithm* producer,
int producerPort,
543 static void ConnectionRemoveAllInput(
vtkAlgorithm* consumer,
int port);
544 static void ConnectionRemoveAllOutput(
vtkAlgorithm* producer,
int port);
vtkAlgorithmOutput * GetOutputPort()
abstract base class for most VTK objects
virtual void Register(vtkObjectBase *o)
Abstract superclass for all arrays.
Detect and break reference loops.
Proxy object to connect input/output ports.
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 *)
abstract superclass for arrays of numeric data
abstract base class for most VTK objects
create and manipulate unsorted lists of objects
helper class to get VTK data object types as string and instantiate them
static vtkExecutive * DefaultExecutivePrototype