ALBA
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
albaDataPipe Class Reference

#include <albaDataPipe.h>

Inheritance diagram for albaDataPipe:
Inheritance graph
[legend]
Collaboration diagram for albaDataPipe:
Collaboration graph
[legend]

Public Member Functions

 albaDataPipe ()
 
virtual ~albaDataPipe ()
 
 albaTypeMacro (albaDataPipe, albaReferenceCounted)
 
virtual void UpdateBounds ()
 
virtual void Update ()
 
albaOBBGetBounds ()
 
void SetTimeStamp (albaTimeStamp t)
 
albaTimeStamp GetTimeStamp ()
 
virtual unsigned long GetMTime ()
 
virtual bool Accept (albaVME *vme)
 
albaDataPipeMakeACopy ()
 
virtual int DeepCopy (albaDataPipe *pipe)
 
int SetVME (albaVME *vme)
 
albaVMEGetVME ()
 
void SetDependOnPose (int flag)
 
int GetDependOnPose ()
 
void SetDependOnVMETime (int flag)
 
int GetDependOnVMETime ()
 
void SetDependOnAbsPose (int flag)
 
int GetDependOnAbsPose ()
 
virtual void Print (std::ostream &os, const int tabs=0) const
 
virtual void OnEvent (albaEventBase *alba_event)
 
- Public Member Functions inherited from albaReferenceCounted
 albaReferenceCounted ()
 
virtual ~albaReferenceCounted ()
 
 albaAbstractTypeMacro (albaReferenceCounted, albaObject)
 
virtual void Delete ()
 
void Register (void *obj)
 
virtual void UnRegister (void *obj)
 
int GetReferenceCount ()
 
void SetReferenceCount (int)
 
- Public Member Functions inherited from albaObject
 albaObject ()
 
virtual ~albaObject ()
 
virtual void Delete ()
 
virtual const char * GetTypeName () const
 
virtual bool IsA (const char *type_name) const
 
virtual bool IsA (const albaTypeID &type_id) const
 
virtual albaObjectNewObjectInstance () const =0
 
virtual const albaTypeIDGetTypeId () const
 
virtual void Print (std::ostream &os, const int indent=0) const
 
 albaObject (const albaObject &c)
 
- Public Member Functions inherited from albaTimeStamped
virtual void Modified ()
 
virtual unsigned long GetMTime ()
 
- Public Member Functions inherited from albaObserver
 albaObserver ()
 
virtual ~albaObserver ()
 
virtual void OnEvent (albaEventBase *e)=0
 

Protected Member Functions

virtual void PreExecute ()
 
virtual void Execute ()
 

Protected Attributes

albaOBB m_Bounds
 
albaTimeStamp m_CurrentTime
 
albaVMEm_VME
 
albaMTime m_PreExecuteTime
 
int m_DependOnPose
 
int m_DependOnAbsPose
 
int m_DependOnVMETime
 
- Protected Attributes inherited from albaReferenceCounted
int m_ReferenceCount
 
- Protected Attributes inherited from albaObject
bool m_HeapFlag
 
- Protected Attributes inherited from albaTimeStamped
albaMTime m_MTime
 

Additional Inherited Members

- Static Public Member Functions inherited from albaObject
static const char * GetStaticTypeName ()
 
static bool IsStaticType (const char *type_name)
 
static bool IsStaticType (const albaTypeID &type_id)
 
static const albaTypeIDGetStaticTypeId ()
 
static albaObjectSafeDownCast (albaObject *o)
 

Detailed Description

abstract class for process objects producing data as output of a VME.

albaDataPipe is the base class for process objects producing data as output of a VME. This basic class does not define the kind of output data. The class also implements the mechanism to compute the 3D bounds at any time...

See also
albaDataPipeInterpolator
Todo:
  • rewrite comments
  • modify the GetCurrentBounds to make it call UpdateCurentBounds explicitly!
  • rewrite GetOutput()
  • reerite UpdateBounds()

Definition at line 50 of file albaDataPipe.h.

Constructor & Destructor Documentation

◆ albaDataPipe()

albaDataPipe::albaDataPipe ( )

◆ ~albaDataPipe()

virtual albaDataPipe::~albaDataPipe ( )
virtual

Member Function Documentation

◆ albaTypeMacro()

albaDataPipe::albaTypeMacro ( albaDataPipe  ,
albaReferenceCounted   
)

◆ UpdateBounds()

virtual void albaDataPipe::UpdateBounds ( )
inlinevirtual

This function makes the current bounds to be updated.

It should be optimized to not require data loading, i.e. data bounds to be evaluated without actually loading the data, but reading dataset bounds from VME item meta-data structure (

See also
albaDataPipeInterpolator)

Definition at line 63 of file albaDataPipe.h.

◆ Update()

virtual void albaDataPipe::Update ( )
inlinevirtual

update the output of the data pipe

Definition at line 66 of file albaDataPipe.h.

◆ GetBounds()

albaOBB * albaDataPipe::GetBounds ( )
inline

Return the current dataset bounds, updated by UpdateBounds() and Update() when CurrentTime is changed.

The Update() functions must be called before calling this function, otherwise the bounds are invalid.

Definition at line 73 of file albaDataPipe.h.

◆ SetTimeStamp()

void albaDataPipe::SetTimeStamp ( albaTimeStamp  t)

Set/Get the current time.

◆ GetTimeStamp()

albaTimeStamp albaDataPipe::GetTimeStamp ( )
inline

Definition at line 83 of file albaDataPipe.h.

◆ GetMTime()

virtual unsigned long albaDataPipe::GetMTime ( )
virtual

return modification time

Reimplemented from albaTimeStamped.

◆ Accept()

virtual bool albaDataPipe::Accept ( albaVME vme)
inlinevirtual

This function returns true if the VME is accepted by this Pipe.

Definition at line 89 of file albaDataPipe.h.

◆ MakeACopy()

albaDataPipe * albaDataPipe::MakeACopy ( )

Make a copy of this pipe, also copying all parameters.

This is equivalent to NewInstance + DeepCopy. BEWARE: the returned object has reference counter already set to 0. This avoid the to do an extra Delete(), but requires to Register it before passing it to other objects.

◆ DeepCopy()

virtual int albaDataPipe::DeepCopy ( albaDataPipe pipe)
virtual

Copy from another pipe, the function return VTK_ERROR if the specified pipe is not compatible.

◆ SetVME()

int albaDataPipe::SetVME ( albaVME vme)

Set/Get the VME to be used as input for this PIPE.

◆ GetVME()

albaVME * albaDataPipe::GetVME ( )
inline

Definition at line 106 of file albaDataPipe.h.

◆ SetDependOnPose()

void albaDataPipe::SetDependOnPose ( int  flag)
inline

enable/disable the dependence of this data pipe from VME's pose matrix

Definition at line 109 of file albaDataPipe.h.

References albaTimeStamped::Modified().

Here is the call graph for this function:

◆ GetDependOnPose()

int albaDataPipe::GetDependOnPose ( )
inline

Definition at line 110 of file albaDataPipe.h.

◆ SetDependOnVMETime()

void albaDataPipe::SetDependOnVMETime ( int  flag)
inline

enable/disable the dependence of this data pipe from VME's pose matrix

Definition at line 113 of file albaDataPipe.h.

References albaTimeStamped::Modified().

Here is the call graph for this function:

◆ GetDependOnVMETime()

int albaDataPipe::GetDependOnVMETime ( )
inline

Definition at line 114 of file albaDataPipe.h.

◆ SetDependOnAbsPose()

void albaDataPipe::SetDependOnAbsPose ( int  flag)
inline

enable/disable the dependence of this data pipe from VME's ABS pose matrix

Definition at line 117 of file albaDataPipe.h.

References albaTimeStamped::Modified().

Here is the call graph for this function:

◆ GetDependOnAbsPose()

int albaDataPipe::GetDependOnAbsPose ( )
inline

Definition at line 118 of file albaDataPipe.h.

◆ Print()

virtual void albaDataPipe::Print ( std::ostream &  os,
const int  tabs = 0 
) const
virtual

print a dump of this object

Reimplemented from albaObject.

◆ OnEvent()

virtual void albaDataPipe::OnEvent ( albaEventBase e)
virtual

process the events sent by subjects

Implements albaObserver.

◆ PreExecute()

virtual void albaDataPipe::PreExecute ( )
protectedvirtual

function called before of data pipe execution

◆ Execute()

virtual void albaDataPipe::Execute ( )
protectedvirtual

function called to updated the data pipe output

Member Data Documentation

◆ m_Bounds

albaOBB albaDataPipe::m_Bounds
protected

bounds of the output data

Definition at line 132 of file albaDataPipe.h.

◆ m_CurrentTime

albaTimeStamp albaDataPipe::m_CurrentTime
protected

time for which data is computed

Definition at line 133 of file albaDataPipe.h.

◆ m_VME

albaVME* albaDataPipe::m_VME
protected

pointer to the VME for which output is computed

Definition at line 134 of file albaDataPipe.h.

◆ m_PreExecuteTime

albaMTime albaDataPipe::m_PreExecuteTime
protected

use to reduce the number of time PreExecute is called

Definition at line 135 of file albaDataPipe.h.

◆ m_DependOnPose

int albaDataPipe::m_DependOnPose
protected

Definition at line 137 of file albaDataPipe.h.

◆ m_DependOnAbsPose

int albaDataPipe::m_DependOnAbsPose
protected

Definition at line 138 of file albaDataPipe.h.

◆ m_DependOnVMETime

int albaDataPipe::m_DependOnVMETime
protected

Definition at line 139 of file albaDataPipe.h.


The documentation for this class was generated from the following file: