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

#include <albaAbsMatrixPipe.h>

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

Public Member Functions

 albaAbsMatrixPipe ()
 
virtual ~albaAbsMatrixPipe ()
 
 albaTypeMacro (albaAbsMatrixPipe, albaMatrixPipe)
 
virtual int SetVME (albaVME *vme)
 
virtual unsigned long GetMTime ()
 
- Public Member Functions inherited from albaMatrixPipe
 albaMatrixPipe ()
 
virtual ~albaMatrixPipe ()
 
 albaTypeMacro (albaMatrixPipe, albaTransformBase)
 
void UpdateMatrixObserverOn ()
 
void UpdateMatrixObserverOff ()
 
void SetUpdateMatrixObserverFlag (bool flag)
 
bool GetUpdateMatrixObserverFlag ()
 
int SetVME (albaVME *vme)
 
albaVMEGetVME ()
 
virtual void SetTimeStamp (albaTimeStamp t)
 
albaTimeStamp GetTimeStamp ()
 
virtual unsigned long GetMTime ()
 
virtual bool Accept (albaVME *vme)
 
virtual const albaMatrixGetMatrix ()
 
albaMatrixPipeMakeACopy ()
 
virtual int DeepCopy (albaMatrixPipe *pipe)
 
virtual void Update ()
 
- Public Member Functions inherited from albaTransformBase
 albaTransformBase ()
 
 ~albaTransformBase ()
 
 albaTransformBase (const albaTransformBase &)
 
 albaAbstractTypeMacro (albaTransformBase, albaReferenceCounted)
 
virtual void Print (std::ostream &os, const int indent=0) const
 
virtual const albaMatrixGetMatrix ()
 
albaMatrixGetMatrixPointer ()
 
void TransformPoint (const float in[3], float out[3])
 
void TransformPoint (const double in[3], double out[3])
 
void TransformNormalAtPoint (const float point[3], const float in[3], float out[3])
 
void TransformNormalAtPoint (const double point[3], const double in[3], double out[3])
 
void TransformVectorAtPoint (const float point[3], const float in[3], float out[3])
 
void TransformVectorAtPoint (const double point[3], const double in[3], double out[3])
 
virtual void Update ()
 
void Modified ()
 
virtual void InternalTransformPoint (const double in[3], double out[3])
 
virtual void InternalTransformPoint (const float in[3], float out[3])
 
virtual unsigned long GetMTime ()
 
virtual unsigned long GetUpdateTime ()
 
void SetTimeStamp (albaTimeStamp t)
 
albaTimeStamp GetTimeStamp ()
 
- 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 albaEventBroadcaster
 albaEventBroadcaster (void *owner=NULL)
 
virtual ~albaEventBroadcaster ()
 
 albaEventBroadcaster (const albaEventBroadcaster &c)
 
void AddObserver (albaObserver *obj)
 
void AddObserver (albaObserver &obj)
 
albaObserverCallbackAddObserverCallback (void(*f)(void *sender, albaID eid, void *clientdata, void *calldata))
 
bool RemoveObserver (albaObserver *obj)
 
void RemoveAllObservers ()
 
bool IsObserver (albaObserver *obj)
 
bool HasObservers ()
 
void GetObservers (std::vector< albaObserver * > &olist)
 
void InvokeEvent (albaEventBase &e)
 
void InvokeEvent (albaEventBase *e)
 
void InvokeEvent (void *sender, albaID id=ID_NO_EVENT, void *data=NULL)
 
void SetChannel (albaID ch)
 
albaID GetChannel ()
 
virtual void SetListener (albaObserver *o)
 
- Public Member Functions inherited from albaEventSender
 albaEventSender ()
 
virtual void SetListener (albaObserver *o)
 
virtual albaObserverGetListener ()
 
virtual bool HasListener ()
 
virtual void InvokeEvent (albaEventBase &e)
 
virtual void InvokeEvent (albaEventBase *e)
 
virtual void InvokeEvent (void *sender, albaID id=ID_NO_EVENT, void *data=NULL)
 

Protected Member Functions

virtual void InternalUpdate ()
 
virtual void InternalUpdate ()
 
virtual void InternalUpdate ()=0
 

Protected Attributes

albaTransformFramem_Transform
 
- Protected Attributes inherited from albaMatrixPipe
bool m_UpdateMatrixObserverFlag
 
bool m_Updating
 
albaVMEm_VME
 
- Protected Attributes inherited from albaTransformBase
albaAutoPointer< albaMatrixm_Matrix
 
albaMTime m_MTime
 
albaMTime m_UpdateTime
 
albaMutexLock m_UpdateMutex
 
albaTimeStamp m_TimeStamp
 
- Protected Attributes inherited from albaReferenceCounted
int m_ReferenceCount
 
- Protected Attributes inherited from albaObject
bool m_HeapFlag
 
- Protected Attributes inherited from albaEventBroadcaster
albaObserversList m_Observers
 
albaID m_Channel
 
- Protected Attributes inherited from albaEventSender
albaObserverm_Listener
 

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)
 
- Protected Types inherited from albaEventBroadcaster
typedef std::list< albaObserver * > albaObserversList
 

Detailed Description

albaAbsMatrixPipe - this class implements VME tree direct cinematic (AbsMatrix).

albaAbsMatrixPipe is a MatrixPipe implementing the VME tree direct cinematic of absolute matrices. It supports efficient on demand update of the output matrix for the current time being coincident with the VME's one. Also it supports computing of the abs-matrix for arbitrary time with a slightly less efficient mechanism, by temporary switching current time of the pointed VME and its parent to a diffent time. In the later case (i.e. when this class CurrentTime differs from VME current time) no MatriUpdateEvent is rised!

See also
albaMatrixPipe albaVME albaMatrixVector
Todo:
  • check if it's possible to remove the m_Updating flag!

Definition at line 41 of file albaAbsMatrixPipe.h.

Constructor & Destructor Documentation

◆ albaAbsMatrixPipe()

albaAbsMatrixPipe::albaAbsMatrixPipe ( )

◆ ~albaAbsMatrixPipe()

virtual albaAbsMatrixPipe::~albaAbsMatrixPipe ( )
virtual

Member Function Documentation

◆ albaTypeMacro()

albaAbsMatrixPipe::albaTypeMacro ( albaAbsMatrixPipe  ,
albaMatrixPipe   
)

◆ SetVME()

virtual int albaAbsMatrixPipe::SetVME ( albaVME vme)
virtual

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

◆ GetMTime()

virtual unsigned long albaAbsMatrixPipe::GetMTime ( )
virtual

Overridden to take into consideration the internal transform object MTime.

Reimplemented from albaMatrixPipe.

◆ InternalUpdate()

virtual void albaAbsMatrixPipe::InternalUpdate ( )
protectedvirtual

To be redefined by subclasses to override Pipe behavior.

Reimplemented from albaMatrixPipe.

Member Data Documentation

◆ m_Transform

albaTransformFrame* albaAbsMatrixPipe::m_Transform
protected

internal transform used to compute the local to ABS frame transformation

Definition at line 61 of file albaAbsMatrixPipe.h.


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