16#ifndef __albaDataPipe_h
17#define __albaDataPipe_h
78 virtual vtkDataSet *GetVTKData() {
return NULL;}
121 virtual void Print(std::ostream& os,
const int tabs=0)
const;
double albaTimeStamp
type for time varying data timestamps (not for pipelines timestamps!)
abstract class for process objects producing data as output of a VME.
void SetTimeStamp(albaTimeStamp t)
Set/Get the current time.
virtual void OnEvent(albaEventBase *alba_event)
process the events sent by subjects
virtual unsigned long GetMTime()
return modification time
albaTimeStamp m_CurrentTime
time for which data is computed
albaTimeStamp GetTimeStamp()
virtual int DeepCopy(albaDataPipe *pipe)
Copy from another pipe, the function return VTK_ERROR if the specified pipe is not compatible.
albaDataPipe * MakeACopy()
Make a copy of this pipe, also copying all parameters.
albaOBB * GetBounds()
Return the current dataset bounds, updated by UpdateBounds() and Update() when CurrentTime is changed...
albaVME * m_VME
pointer to the VME for which output is computed
virtual void Update()
update the output of the data pipe
void SetDependOnPose(int flag)
enable/disable the dependence of this data pipe from VME's pose matrix
virtual void Print(std::ostream &os, const int tabs=0) const
print a dump of this object
albaTypeMacro(albaDataPipe, albaReferenceCounted)
void SetDependOnVMETime(int flag)
enable/disable the dependence of this data pipe from VME's pose matrix
void SetDependOnAbsPose(int flag)
enable/disable the dependence of this data pipe from VME's ABS pose matrix
albaOBB m_Bounds
bounds of the output data
virtual void UpdateBounds()
This function makes the current bounds to be updated.
virtual void PreExecute()
function called before of data pipe execution
virtual void Execute()
function called to updated the data pipe output
int SetVME(albaVME *vme)
Set/Get the VME to be used as input for this PIPE.
virtual bool Accept(albaVME *vme)
This function returns true if the VME is accepted by this Pipe.
albaMTime m_PreExecuteTime
use to reduce the number of time PreExecute is called
Implementation of the message object for the Subject/Observer design pattern.
albaMTime - record modification timestamp.
This class simply stores a Box boundary (i.e.
Interface implementing the Observer of the Subject/Observer design pattern.
albaReferenceCounted - abstract base class for ALBA objects with reference counting.
class acting as an interface for timestamped objects This object simply defines few methods for manag...
virtual void Modified()
Update this objects modification time.