ALBA
|
#include <albaVME.h>
Classes | |
struct | VmeLinks |
struct | VmePointerMap |
Public Types | |
enum | VME_WIDGET_ID { ID_NAME = MINID , ID_PRINT_INFO , ID_HELP , ID_LAST } |
enum | VME_VISUAL_MODE { DEFAULT_VISUAL_MODE = 0 , NO_DATA_VISUAL_MODE } |
typedef std::vector< albaAutoPointer< albaVME > > | albaChildrenVector |
typedef std::map< albaString, albaAutoPointer< albaAttribute > > | albaAttributesMap |
typedef std::map< albaString, albaVMELink > | albaLinksMap |
typedef std::set< albaVME * > | albaVMESet |
typedef std::vector< albaVMEBackLink > | albaVMEBackLinks |
Public Member Functions | |
albaAbstractTypeMacro (albaVME, albaReferenceCounted) | |
virtual albaObject * | NewObjectInstance () const |
albaVME * | NewInstance () |
int | Initialize () |
void | Shutdown () |
int | IsInitialized () |
int | Store () |
int | Restore () |
const char * | GetName () |
virtual void | SetName (const char *name) |
virtual bool | CanCopy (albaVME *vme) |
albaVME * | MakeCopy () |
albaVME * | CopyTree () |
albaVME * | GetChild (albaID idx, bool onlyVisible=false) |
albaVME * | GetFirstChild (bool onlyVisible=false) |
albaVME * | GetLastChild (bool onlyVisible=false) |
albaVME * | GetByPath (const char *path, bool onlyVisible=true) |
virtual int | AddChild (albaVME *node) |
virtual void | RemoveChild (const albaID idx, bool onlyVisible=false) |
virtual void | RemoveChild (albaVME *node) |
int | FindNodeIdx (albaVME *a, bool onlyVisible=false) |
int | FindNodeIdx (const char *name, bool onlyVisible=false) |
albaVME * | FindInTreeByTag (const char *name, const char *value="", int type=ALBA_STRING_TAG) |
albaVME * | FindInTreeByName (const char *name, bool match_case=true, bool whole_word=true) |
albaVME * | FindInTreeById (const albaID id) |
virtual int | ReparentTo (albaVME *parent) |
void | Import (albaVME *tree) |
bool | IsAChild (albaVME *a) |
bool | IsInTree (albaVME *a) |
albaVME * | GetRoot () |
bool | IsEmpty () const |
bool | IsOnVMETree () |
unsigned long | GetNumberOfChildren () const |
unsigned long | GetNumberOfChildren (bool onlyVisible) |
void | CleanTree () |
void | RemoveAllChildren () |
albaVMEIterator * | NewIterator () |
void | SetVisibleToTraverse (bool flag) |
bool | GetVisibleToTraverse () |
bool | IsVisible () |
bool | CompareTree (albaVME *vme) |
virtual void | UnRegister (void *o) |
virtual void | OnEvent (albaEventBase *e) |
const albaChildrenVector * | GetChildren () |
albaAttributesMap * | GetAttributes () |
void | SetAttribute (const char *name, albaAttribute *a) |
albaAttribute * | GetAttribute (const char *name) |
void | RemoveAttribute (const char *name) |
void | RemoveAllAttributes () |
albaTagArray * | GetTagArray () |
albaVME * | GetLink (const char *name) |
void | SetLink (const char *name, albaVME *node) |
void | SetMandatoryLink (const char *name, albaVME *node) |
void | SetLink (const char *name, albaVME *node, LinkType type) |
void | AddBackLink (const char *name, albaVME *node) |
void | RemoveBackLink (const char *name, albaVME *node) |
void | SetOldSubIdLink (albaString link_name, albaID link_node_id, albaID link_node_subid) |
void | RemoveLink (const char *name) |
albaID | GetNumberOfLinks () |
albaID | GetNumberOfBackLinks () |
albaVMEBackLinks | GetBackLinks () |
void | RemoveAllLinks () |
void | RemoveAllBackLinks () |
albaVMESet | GetDependenciesVMEs () |
void | RemoveDependenciesVMEs () |
bool | WillBeRemovedWithDependencies (albaVME *vme) |
albaLinksMap * | GetLinks () |
void | ForwardUpEvent (albaEventBase *alba_event) |
void | ForwardUpEvent (albaEventBase &alba_event) |
void | ForwardDownEvent (albaEventBase *alba_event) |
void | ForwardDownEvent (albaEventBase &alba_event) |
albaGUI * | GetGui () |
void | DeleteGui () |
albaID | GetId () const |
void | UpdateId () |
virtual unsigned long | GetMTime () |
void | DependsOnLinkedNodeOn () |
void | DependsOnLinkedNodeOff () |
virtual void | Print (std::ostream &os, const int tabs=0) |
albaVME * | GetParent () const |
virtual int | DeepCopy (albaVME *a) |
virtual int | ShallowCopy (albaVME *a) |
virtual bool | Equals (albaVME *vme) |
virtual void | SetTimeStamp (albaTimeStamp t) |
virtual albaTimeStamp | GetTimeStamp () |
void | SetTreeTime (albaTimeStamp t) |
virtual void | SetMatrix (const albaMatrix &mat)=0 |
void | SetPose (const albaMatrix &mat, albaTimeStamp t) |
void | SetPose (double x, double y, double z, double rx, double ry, double rz, albaTimeStamp t) |
void | SetPose (double xyz[3], double rxyz[3], albaTimeStamp t) |
void | ApplyMatrix (const albaMatrix &matrix, int premultiply, albaTimeStamp t=-1) |
void | SetAbsPose (double x, double y, double z, double rx, double ry, double rz, albaTimeStamp t=-1) |
void | SetAbsPose (double xyz[3], double rxyz[3], albaTimeStamp t=-1) |
void | SetAbsMatrix (const albaMatrix &matrix, albaTimeStamp t) |
virtual void | SetAbsMatrix (const albaMatrix &matrix) |
void | ApplyAbsMatrix (const albaMatrix &matrix, int premultiply, albaTimeStamp t=-1) |
virtual bool | CanReparentTo (albaVME *parent) |
albaMatrixPipe * | GetMatrixPipe () |
albaAbsMatrixPipe * | GetAbsMatrixPipe () |
albaDataPipe * | GetDataPipe () |
virtual void | Update () |
virtual void | GetLocalTimeStamps (std::vector< albaTimeStamp > &kframes)=0 |
virtual void | GetLocalTimeBounds (albaTimeStamp tbounds[2]) |
virtual void | GetAbsTimeStamps (std::vector< albaTimeStamp > &kframes) |
virtual void | GetTimeStamps (std::vector< albaTimeStamp > &kframes) |
int | GetNumberOfTimeStamps () |
int | GetNumberOfLocalTimeStamps () |
virtual bool | IsAnimated () |
virtual bool | IsDataAvailable () |
void | SetCrypting (int crypting) |
int | GetCrypting () |
virtual albaVMEOutput * | GetOutput () |
virtual albaString | GetVisualPipe () |
virtual albaString | GetVisualPipeSlice () |
void | SetVisualMode (int mode) |
int | GetVisualMode () |
albaInteractor * | GetBehavior () |
void | SetBehavior (albaInteractor *bh) |
void | TestModeOn () |
void | TestModeOff () |
bool | GetTestMode () |
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 albaObject * | NewObjectInstance () const =0 |
virtual const albaTypeID & | GetTypeId () 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) |
albaObserverCallback * | AddObserverCallback (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 albaObserver * | GetListener () |
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) |
Public Member Functions inherited from albaStorable | |
albaStorable () | |
int | Store (albaStorageElement *element) |
int | Restore (albaStorageElement *element) |
albaObject * | CastToObject () |
bool | IsStorable () |
Public Member Functions inherited from albaObserver | |
albaObserver () | |
virtual | ~albaObserver () |
virtual void | OnEvent (albaEventBase *e)=0 |
Public Member Functions inherited from albaTimeStamped | |
virtual void | Modified () |
virtual unsigned long | GetMTime () |
Static Public Member Functions | |
static albaVME * | MakeCopy (albaVME *a) |
static albaVME * | CopyTree (albaVME *vme, albaVME *parent=NULL) |
static char ** | GetIcon () |
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 albaTypeID & | GetStaticTypeId () |
static albaObject * | SafeDownCast (albaObject *o) |
Static Public Member Functions inherited from albaStorable | |
static albaStorable * | SafeCastToObject (albaObject *o) |
Static Protected Member Functions | |
static albaVME * | InternalCopyTree (albaVME *vme, albaVME *parent) |
Additional Inherited Members | |
Protected Types inherited from albaEventBroadcaster | |
typedef std::list< albaObserver * > | albaObserversList |
albaVME -
albaVME is a node for sciViz purposes. It features a procedural core generating an output data structure storing a pose matrix and a VTK dataset. The albaVME generates also an absolute pose matrix, a matrix representing the pose of the VME in the world reference system. albaVME has an output with a pose matrix and a VTK dataset.
This class also implements a m-way tree. A VME can be seen as a tree node. You can add/remove nodes by means of AddChild and RemoveChild. To access the tree you can use GetChild(). You can also obtain an iterator to iterate through the tree with a simple for (;;) loop. This node implementation take advantage of the ALBA reference counting mechanism. To avoid confusion constructor and destructor have been protected. To allocate a node use New() and to deallocate use Delete() or UnRegister(). To create a copy of the node you can use MakeCopy(). To copy node content use DeepCopy(). Any node has a CanCopy() to test if copying from a different node type i possible. A number of functions allow to query the tree, like IsEmpty(), IsInTree(), GetRoot(), GetNumberOfChildren(), FindNodeIdx(), FindInTreeByName(), FindInTreeById(), IsAChild(), GetParent(). A special features allow to make a node to be skipped by iterators: SetVisibleToTraverse() and IsVisible(). Comparison between nodes and trees can be accomplished through Equals() and CompareTree(). Nore reparenting can be performed through ReparentTo(). This function returns ALBA_ERROR in case reparenting is not allowed. Each node type can decide nodes to which it can be reparented by redefining the CanReparentTo() virtual function. Also each node type can decide nodes it is accepting as a child by redefining the AddChild() which also can return ALBA_ERROR in case of denied reparenting. A node can detach all children RemoveAllChildren() and an entire tree can be cleaned, by detaching each sub node, through CleanTree(). Nodes inherits from albaTimeStamped a modification time updated each time Modified() is called, that can be retrieved with GetMTime(). A tree can be initialized by calling Initialize() of its root, and deinitialized by means of Shutdown(). When attaching a node to an initialised tree the node is automatically initialized.
typedef std::vector<albaAutoPointer<albaVME> > albaVME::albaChildrenVector |
typedef std::map<albaString, albaAutoPointer<albaAttribute> > albaVME::albaAttributesMap |
typedef std::map<albaString, albaVMELink> albaVME::albaLinksMap |
typedef std::set<albaVME *> albaVME::albaVMESet |
typedef std::vector<albaVMEBackLink> albaVME::albaVMEBackLinks |
|
protected |
|
protectedvirtual |
albaVME::albaAbstractTypeMacro | ( | albaVME | , |
albaReferenceCounted | |||
) |
|
inlinevirtual |
defined to allow MakeCopy implementation.
For the base class return a NULL pointer.
Implements albaObject.
|
inline |
int albaVME::Initialize | ( | ) |
Initialize this node.
Subclasses can redefine InternalInitialize() to customize the initialization. A node is typically initialized when added to the tree, or just after tree loading in case of load from storage.
void albaVME::Shutdown | ( | ) |
Shutdown this node.
Subclasses can redefine InternalShutdown() to customize actions for shutting down. A node is typically shutdown when detached from the tree
|
inline |
int albaVME::Store | ( | ) |
serialize the object on a store.
int albaVME::Restore | ( | ) |
unserialized the object from a storage.
|
inline |
|
virtual |
set node name
|
virtual |
TODO: to be moved to albaVME perform a copy by simply referencing the copied node's data array.
Beware: This can allow to save memory when doing special tasks, but can be very dangerous making one of the VME inconsistent. Some nodes do not support such a function! Test if the given node instance can be copied into this. This function should be reimplemented into subclasses classes
Create a copy of this node (do not copy the sub tree,just the node)
|
inline |
Definition at line 211 of file albaVME.h.
References MakeCopy().
Referenced by MakeCopy().
Copy the given VME tree into a new tree.
In case a parent is provided, link the new root node to it. Return the root of the new tree.
|
inline |
Make a copy of the whole subtree and return its pointer.
Definition at line 218 of file albaVME.h.
References CopyTree().
Referenced by CopyTree().
Return a the pointer to a child given its index.
If only visible is true return the idx-th visible to traverse node
albaVME * albaVME::GetFirstChild | ( | bool | onlyVisible = false | ) |
Get the First child in the list.
If only visible is true return the first visible to traverse node
albaVME * albaVME::GetLastChild | ( | bool | onlyVisible = false | ) |
Get the Lase child in the list.
If only visible is true return the last visible to traverse node
albaVME * albaVME::GetByPath | ( | const char * | path, |
bool | onlyVisible = true |
||
) |
Get A child by path.
The pats are generated from a series of keyword divided by '\'
The possible keywords are: next: return the next node at same level prev: return the previous node at same level firstPair: return the first node at same level lastPair: return the last node at same level firstChild: return the first node between children lastChild: return the last node between children pair[<number>]: return the <number>-th node between pairs pair{<node name>}: return the node named <node name> between pairs child[<number>]: return the <number>-th node between children child{<node name>}: return the node named <node name> between children ..:
An example path is: "../../child{sideB}/child[2]"
By default this function search only on visible to traverse nodes
|
virtual |
Add a child to this node.
Return ALBA_OK if success.
|
virtual |
Remove a child node.
|
virtual |
Remove a child node.
int albaVME::FindNodeIdx | ( | albaVME * | a, |
bool | onlyVisible = false |
||
) |
Find a child given its pointer and return its index.
Return -1 in case of not found or failure. If only visible is true return the idx of visible to traverse nodes subset
int albaVME::FindNodeIdx | ( | const char * | name, |
bool | onlyVisible = false |
||
) |
Find a child index given its name.
Search is performed only on first level children not in the sub-tree. Return -1 in case of not found or failure. If only visible is true return the idx of visible to traverse nodes subset
albaVME * albaVME::FindInTreeByTag | ( | const char * | name, |
const char * | value = "" , |
||
int | type = ALBA_STRING_TAG |
||
) |
Find a node in all the subtrees matching the given TagName/TagValue pair.
albaVME * albaVME::FindInTreeByName | ( | const char * | name, |
bool | match_case = true , |
||
bool | whole_word = true |
||
) |
Find a node in all the subtrees matching the given VME Name.
Find a node in all the subtrees matching the given VME Name.
|
virtual |
Reparent this Node into a different place of the same tree.
BEWARE: Reparent into a different tree is allowed, but could generate bad problems. Inherited classes should reimplement this function to avoid these problems when reparenting to different trees. To move a node into a different tree you better use DeepCopy to copy it into a Node of that tree.
void albaVME::Import | ( | albaVME * | tree | ) |
Import all children of another tree into this tree.
bool albaVME::IsAChild | ( | albaVME * | a | ) |
Return true if the given one is a child of this node.
bool albaVME::IsInTree | ( | albaVME * | a | ) |
Find a node in all the subtrees, searching recursively into sub nodes.
Return true if found.
albaVME * albaVME::GetRoot | ( | ) |
Return the root of the tree this node owns to.
|
inline |
unsigned long albaVME::GetNumberOfChildren | ( | ) | const |
Return the number of children of this node If only visible is true return the number visible to traverse nodes.
unsigned long albaVME::GetNumberOfChildren | ( | bool | onlyVisible | ) |
Return the number of children of this node If only visible is true return the number visible to traverse nodes.
void albaVME::CleanTree | ( | ) |
Remove recursively all nodes from this tree, forcing all subnodes to detach their children.
You better use RemoveAllChildren instead!!!
void albaVME::RemoveAllChildren | ( | ) |
Remove all children nodes.
If the children are not referenced by other objects they will be automatically deallocated by UnRegister() mechanism, and the removal will recurse.
albaVMEIterator * albaVME::NewIterator | ( | ) |
Return a new Tree iterator already set to traverse the sub tree starting a this node.
Remember to delete the iterator after use it.
|
inline |
Set/Get the flag to make this VME visible to tree traversal.
albaVMEIterator, GetSpaceBounds and Get4DBounds will skip this VME if the flag is OFF.
|
inline |
Return true if visible to tree traversal.
Definition at line 338 of file albaVME.h.
Referenced by albaVMEIterator::IsVisible().
bool albaVME::CompareTree | ( | albaVME * | vme | ) |
Compare the two subtrees starting from this node with the given one.
Two trees are considered equivalent if they have equivalent nodes (
|
virtual |
redefined to cope with tree registering
Reimplemented from albaReferenceCounted.
|
virtual |
|
inline |
|
inline |
void albaVME::SetAttribute | ( | const char * | name, |
albaAttribute * | a | ||
) |
Set a new attribute.
The given attribute is
albaAttribute * albaVME::GetAttribute | ( | const char * | name | ) |
return an attribute given the name
void albaVME::RemoveAttribute | ( | const char * | name | ) |
remove an attibute
void albaVME::RemoveAllAttributes | ( | ) |
remove all the attributes of this node
albaTagArray * albaVME::GetTagArray | ( | ) |
return a pointer to the tag array attribute.
If this attribute doesn't exist yet, create a new one. TagArray is a map storing pairs of Name<->components, where components are an array of albaStrings. It's a simple way to attach persistent attributes. For more complex attributes customized classes should be created, inheriting from albaAttribute (e.g.
albaVME * albaVME::GetLink | ( | const char * | name | ) |
return the value of a link to another node in the tree.
If no link with such a name exists return NULL. this function returns both links and mandatory links
void albaVME::SetLink | ( | const char * | name, |
albaVME * | node | ||
) |
set a link to another node in the tree, if node is NULL current link is removed
void albaVME::SetMandatoryLink | ( | const char * | name, |
albaVME * | node | ||
) |
set a mandatory link to another node in the tree, if node is NULL current link is removed
set a link or a mandatory link to another node in the tree, if node is NULL current link is removed
void albaVME::AddBackLink | ( | const char * | name, |
albaVME * | node | ||
) |
set a mandatory link to another node in the tree
void albaVME::RemoveBackLink | ( | const char * | name, |
albaVME * | node | ||
) |
set a mandatory link to another node in the tree
void albaVME::SetOldSubIdLink | ( | albaString | link_name, |
albaID | link_node_id, | ||
albaID | link_node_subid | ||
) |
This method manage olds links with subid and is here only for retro compatibility issues please do not use this.
void albaVME::RemoveLink | ( | const char * | name | ) |
remove a link
|
inline |
|
inline |
|
inline |
void albaVME::RemoveAllLinks | ( | ) |
remove all links
|
inline |
albaVMESet albaVME::GetDependenciesVMEs | ( | ) |
Return a set of all VME depending on this vme or is subtree.
void albaVME::RemoveDependenciesVMEs | ( | ) |
Removes all the VME that are depending on the current VME.
bool albaVME::WillBeRemovedWithDependencies | ( | albaVME * | vme | ) |
Return true if vme will be removed on Remove Dependencies A VME will be removed if is contained on dependencies list or if is contained in a sub-tree of the dependencies.
|
inline |
void albaVME::ForwardUpEvent | ( | albaEventBase * | alba_event | ) |
used to send an event up in the tree
void albaVME::ForwardUpEvent | ( | albaEventBase & | alba_event | ) |
void albaVME::ForwardDownEvent | ( | albaEventBase * | alba_event | ) |
used to send an event down in the tree
void albaVME::ForwardDownEvent | ( | albaEventBase & | alba_event | ) |
albaGUI * albaVME::GetGui | ( | ) |
create and return the GUI for changing the node parameters
void albaVME::DeleteGui | ( | ) |
destroy the Gui
albaID albaVME::GetId | ( | ) | const |
return the Id of this node in the tree
|
static |
return an xpm-icon that can be used to represent this node
void albaVME::UpdateId | ( | ) |
Check if m_Id and regenerate it if is invalid (-1)
|
virtual |
Return the modification time.
Reimplemented from albaTimeStamped.
|
inline |
|
inline |
|
virtual |
print a dump of this object
Reimplemented in albaVMERoot.
|
inline |
|
virtual |
Copy the contents of another VME into this one.
Notice that subtrees are not copied, i.e. copy is not recursive! Concrete class should reimplement this function to verify admitted conversion.
Reimplemented in albaVMERoot.
|
virtual |
perform a copy by simply referencing the copied VME's data array.
Beware: This can allow to save memory when doing special tasks, but can be very dangerous making one of the VME inconsistent. Some VMEs do not support such a function!
|
virtual |
Compare two VMEs.
The specific comparison must be implemented by subclasses.
Reimplemented in albaVMERoot.
|
virtual |
Set the time for this VME (not for the whole tree).
Normally time of the tree is set by sending an event with id VME_TIME_SET
|
virtual |
void albaVME::SetTreeTime | ( | albaTimeStamp | t | ) |
Set/Get CurrentTime for this VME and all subtree.
Normally time of the tree is set by sending an event with id VME_TIME_SET
|
pure virtual |
Set the Pose matrix of the VME.
This function modifies pose matrix of the VME. The pose is modified for the given timestamp, if VME supports 4D pose (e.g. MatrixVector of VME-Generic) the output matrix is interpolated among set key matrices.
Implemented in albaVMERoot.
void albaVME::SetPose | ( | const albaMatrix & | mat, |
albaTimeStamp | t | ||
) |
set the pose matrix for a specific time stamp (ignore the matrix internal timestamp!)
void albaVME::SetPose | ( | double | x, |
double | y, | ||
double | z, | ||
double | rx, | ||
double | ry, | ||
double | rz, | ||
albaTimeStamp | t | ||
) |
Set the pose for this VME This function modifies pose matrix of the VME.
The pose is modified for the given timestamp, if VME supports 4D pose (e.g. MatrixVector of VME-Generic) the output matrix is interpolated among set key matrices.
void albaVME::SetPose | ( | double | xyz[3], |
double | rxyz[3], | ||
albaTimeStamp | t | ||
) |
Set the pose for this VME This function modifies pose matrix of the VME.
The pose is modified for the given timestamp, if VME supports 4D pose (e.g. MatrixVector of VME-Generic) the output matrix is interpolated among set key matrices.
void albaVME::ApplyMatrix | ( | const albaMatrix & | matrix, |
int | premultiply, | ||
albaTimeStamp | t = -1 |
||
) |
apply a matrix to the VME pose matrix
void albaVME::SetAbsPose | ( | double | x, |
double | y, | ||
double | z, | ||
double | rx, | ||
double | ry, | ||
double | rz, | ||
albaTimeStamp | t = -1 |
||
) |
Set the global pose of this VME for the given time "t".
This function usually modifies the MatrixVector.
void albaVME::SetAbsPose | ( | double | xyz[3], |
double | rxyz[3], | ||
albaTimeStamp | t = -1 |
||
) |
Set the global pose of this VME for the given time "t".
This function usually modifies the MatrixVector.
void albaVME::SetAbsMatrix | ( | const albaMatrix & | matrix, |
albaTimeStamp | t | ||
) |
Set the global pose of this VME for the given time "t".
This function usually modifies the MatrixVector.
|
virtual |
Set the global pose of this VME for the current time.
This function usually modifies the MatrixVector.
void albaVME::ApplyAbsMatrix | ( | const albaMatrix & | matrix, |
int | premultiply, | ||
albaTimeStamp | t = -1 |
||
) |
apply a matrix to the VME abs pose matrix
|
virtual |
return true if the VME can be reparented under the specified node
Reimplemented in albaVMERoot.
|
inline |
|
inline |
|
inline |
|
virtual |
this function makes the current data pointer to point the right output data, usually the DataPipe output data but subclasses can redefine this function.
By default if no data pipe is defined, current data is set to NULL.
Reimplemented in albaVMERoot.
|
pure virtual |
Return the list of timestamps for this VME.
Timestamps list is obtained merging timestamps for matrices and VME items
Implemented in albaVMERoot.
|
inlinevirtual |
|
virtual |
Return the list of timestamps considering all parents timestamps.
Timestamps list is obtained merging timestamps for matrices and VME items
|
virtual |
Return the list of timestamps for the full sub tree.
Timestamps list is obtained merging timestamps for matrices and VME items
int albaVME::GetNumberOfTimeStamps | ( | ) |
Return the number of time stamps in the whole tree.
int albaVME::GetNumberOfLocalTimeStamps | ( | ) |
Return the number of time stamps local to the vme.
|
virtual |
Return true if the number of local time stamps is > 1.
|
virtual |
Return true if the data associated with the VME is present and updated at the current time.
void albaVME::SetCrypting | ( | int | crypting | ) |
Set the crypting status for the vme.
int albaVME::GetCrypting | ( | ) |
Get the crypting status of the vme.
|
inlinevirtual |
|
inlinevirtual |
Return the suggested pipe-typename for the visualization of this vme.
Reimplemented in albaVMERoot.
|
inlinevirtual |
void albaVME::SetVisualMode | ( | int | mode | ) |
Set the mode with which render the VME: DEFAULT_VISUAL_MODE or NO_DATA_VISUAL_MODE.
Setting the visual mode to default will produce also the reset of the m_EditingVisualPipe to the empty string. This because the editing visual pipe is set dynamically by the class that use this feature.
|
inline |
|
inline |
return the interactor assigned as a behavior to this VME.
This is the interactor to which events coming from input devices are sent when user pick this VME. Responsible of this routing is the PER (
|
inline |
set the interactor representing the behavior of this VME.
|
inline |
|
inline |
|
protected |
internally used to set the node ID
|
protectedvirtual |
This is called by Store() and must be reimplemented by subclasses.
The node element where the object should store itself is passed as argument.
Implements albaStorable.
Reimplemented in albaVMERoot.
|
protectedvirtual |
This is called by Restore() and must be reimplemented by subclasses The element from which the object should restore itself is passed as argument.
Implements albaStorable.
Reimplemented in albaVMERoot.
|
inlineprotectedvirtual |
|
protectedvirtual |
This function set the parent for this Node.
It returns a value to allow subclasses to implement selective reparenting.
|
protected |
|
protected |
|
protected |
|
protected |
Get the dependecies for the specified VME.
|
protectedvirtual |
used to initialize the AbsMatrixPipe
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
protectedvirtual |
Set the time for this VME (not for the whole tree) without notifying listeners.
This method is called by SetTimeStamp method (that also notifies listeners).
|
protected |
Set the output and connect it to the VME.
This is automatically called by GetOutput() of specific VME's
|
protectedvirtual |
Set/Get the data pipe object, i.e.
the source of the output dataset.
|
protected |
Set the matrix pipe object, i.e.
the source of the output matrix.
|
protected |
Returns typename (human readable) from vme type (class name)
|
protected |
Set the abs matrix pipe object, i.e.
the source of the output abs matrix.
|
protectedvirtual |
Create GUI for the VME Internally used to create a new instance of the GUI.
This function should be overridden by subclasses to create specialized GUIs. Each subclass should append its own widgets and define the enum of IDs for the widgets as an extension of the superclass enum. The last id value must be defined as "LAST_ID" to allow the subclass to continue the ID enumeration from it. For appending the widgets in the same pannel GUI, each CreateGUI() function should first call the superclass' one.
Reimplemented in albaVMERoot.
|
protected |
Precess Tree management events.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
set true by Initialize()
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |