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 );
235 virtual void SetInputArrayToProcess(
int idx,
int port,
int connection,
236 int fieldAssociation,
238 virtual void SetInputArrayToProcess(
int idx,
int port,
int connection,
239 int fieldAssociation,
240 int fieldAttributeType);
259 virtual void SetInputArrayToProcess(
int idx,
int port,
int connection,
260 const char* fieldAssociation,
261 const char* attributeTypeorName);
272 void RemoveAllInputs();
318 virtual void RemoveInputConnection(
int port,
int idx);
321 virtual void RemoveAllInputConnections(
int port);
333 { this->SetInputDataObject(0, data); }
342 { this->AddInputDataObject(0, data); }
352 return this->GetOutputPort(0); }
356 int GetNumberOfInputConnections(
int port);
359 int GetTotalNumberOfInputConnections();
375 return this->GetInputAlgorithm(0, 0);
386 return this->GetInputExecutive(0, 0);
402 return this->GetInputInformation(0, 0);
420 virtual void UpdateInformation();
423 virtual void PropagateUpdateExtent();
426 virtual void UpdateWholeExtent();
430 void ConvertTotalInputToPortConnection(
int ind,
int&
port,
int& conn);
440 virtual void SetReleaseDataFlag(
int);
441 virtual int GetReleaseDataFlag();
442 void ReleaseDataFlagOn();
443 void ReleaseDataFlagOff();
459 static void SetDefaultExecutivePrototype(
vtkExecutive* proto);
464 virtual double ComputePriority();
482 int SetUpdateExtentToWholeExtent(
int port);
487 int SetUpdateExtentToWholeExtent();
491 void SetUpdateExtent(
int port,
492 int piece,
int numPieces,
int ghostLevel);
500 this->SetUpdateExtent(0, piece, numPieces, ghostLevel);
505 void SetUpdateExtent(
int port,
int extent[6]);
511 this->SetUpdateExtent(0, extent);
520 return this->GetUpdateExtent(0);
522 int* GetUpdateExtent(
int port);
526 this->GetUpdateExtent(0, x0, x1, y0, y1, z0, z1);
528 void GetUpdateExtent(
int port,
529 int& x0,
int& x1,
int& y0,
int& y1,
533 this->GetUpdateExtent(0, extent);
535 void GetUpdateExtent(
int port,
int extent[6]);
543 return this->GetUpdatePiece(0);
545 int GetUpdatePiece(
int port);
548 return this->GetUpdateNumberOfPieces(0);
550 int GetUpdateNumberOfPieces(
int port);
553 return this->GetUpdateGhostLevel(0);
555 int GetUpdateGhostLevel(
int port);
591 virtual void SetNumberOfInputPorts(
int n);
594 virtual void SetNumberOfOutputPorts(
int n);
597 int InputPortIndexInRange(
int index,
const char* action);
598 int OutputPortIndexInRange(
int index,
const char* action);
612 int GetInputArrayAssociation(
int idx,
int connection,
700 vtkSetMacro( ErrorCode,
unsigned long );
718 virtual void SetNthInputConnection(
int port,
int index,
726 virtual void SetNumberOfInputConnections(
int port,
int n);
736 { this->SetInputDataObject(port, input); }
738 { this->AddInputDataObject(port, input); }
747 vtkAlgorithmInternals* AlgorithmInternal;
748 static void ConnectionAdd(
vtkAlgorithm* producer,
int producerPort,
750 static void ConnectionRemove(
vtkAlgorithm* producer,
int producerPort,
GLsizei GLsizei GLenum GLenum const GLvoid * data
#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])
GLenum GLenum GLenum input
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
GLuint const GLchar * name
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