MIRA
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
TransformerNode< StorageTransform > Class Template Reference

Basic reference implementation of an AbstractTransformerNode that stores the transformation data internally in a StampedDataQueue that allows to query the transformation at specific time stamps. More...

#include <transform/TransformerNode.h>

Inheritance diagram for TransformerNode< StorageTransform >:
Inheritance graph
[legend]

Public Types

typedef AbstractTransformerNodeAbstractNodePtr
 Pointer type for this AbstractTransformerNode. More...
 

Public Member Functions

Storagestorage ()
 Grants access to the internal storage for transformations. More...
 
void setTransform (const StorageTransform &transform, const Time &time)
 Inserts the specified transform with the specified time stamp into the internal storage. More...
 
virtual bool isEmpty () const
 Implementation of AbstractTransformerNode::isEmpty() More...
 
template<typename Transform , typename Filter >
Transform getTransform (const Time &time, Filter &&filter)
 Implementation of AbstractTransformerNode::getTransform() More...
 
template<typename Transform >
Transform getTransform (const Time &time, NearestNeighborInterpolator &)
 
const std::string & getID () const
 Returns the id of this node. More...
 
const std::list< AbstractNodePtr > & getChildren () const
 Returns a list with all children of this node. More...
 
const AbstractNodePtrgetParent () const
 Returns the parent of the node. More...
 
uint32 getDescendantCount () const
 Returns the number of descendants of this node (children, grandchildren, etc.) More...
 
bool isAncestorOf (const AbstractNodePtr other) const
 Returns true, if the this node is an ancestor of the given 'other' node. More...
 

Protected Member Functions

 TransformerNode (const std::string &id)
 Creates a new node of the transform tree, that can be added to the corresponding Transformer using addNode(). More...
 

Protected Attributes

Storage mTransformStorage
 storage that takes all transforms with their timestamps that were added. More...
 
std::string mID
 The id of this node. More...
 
AbstractNodePtr mParent
 Pointer to the parent node within the tree. More...
 
std::list< AbstractNodePtrmChildren
 List with pointers to the children within the transformation tree. More...
 

Friends

template<typename T , int D, template< typename T_, int D_ > class TTransform_>
class Transformer
 

Detailed Description

template<typename StorageTransform>
class mira::TransformerNode< StorageTransform >

Basic reference implementation of an AbstractTransformerNode that stores the transformation data internally in a StampedDataQueue that allows to query the transformation at specific time stamps.

Transforms can be added to the internal storage using the setTransform() method.

As template parameter the type of the transformation needs to be specified, e.g. RigidTransform3f. This is the type that is internally stored within the storage.

Member Typedef Documentation

◆ AbstractNodePtr

Pointer type for this AbstractTransformerNode.

Constructor & Destructor Documentation

◆ TransformerNode()

TransformerNode ( const std::string &  id)
inlineprotected

Creates a new node of the transform tree, that can be added to the corresponding Transformer using addNode().

Note
The constructors of Node are protected. Use Transformer::newNode() to create a new node.

Member Function Documentation

◆ storage()

Storage& storage ( )
inline

Grants access to the internal storage for transformations.

This allows to change the parameters of the storage like the max storage time, the capacity, etc.

◆ setTransform()

void setTransform ( const StorageTransform &  transform,
const Time time 
)
inline

Inserts the specified transform with the specified time stamp into the internal storage.

◆ isEmpty()

virtual bool isEmpty ( ) const
inlinevirtual

◆ getTransform() [1/2]

Transform getTransform ( const Time time,
Filter &&  filter 
)
inline

◆ getTransform() [2/2]

Transform getTransform ( const Time time,
NearestNeighborInterpolator  
)
inline

◆ getID()

const std::string& getID ( ) const
inlineinherited

Returns the id of this node.

◆ getChildren()

const std::list<AbstractNodePtr>& getChildren ( ) const
inlineinherited

Returns a list with all children of this node.

◆ getParent()

const AbstractNodePtr& getParent ( ) const
inlineinherited

Returns the parent of the node.

◆ getDescendantCount()

uint32 getDescendantCount ( ) const
inherited

Returns the number of descendants of this node (children, grandchildren, etc.)

◆ isAncestorOf()

bool isAncestorOf ( const AbstractNodePtr  other) const
inherited

Returns true, if the this node is an ancestor of the given 'other' node.

Friends And Related Function Documentation

◆ Transformer

friend class Transformer
friend

Member Data Documentation

◆ mTransformStorage

Storage mTransformStorage
protected

storage that takes all transforms with their timestamps that were added.

◆ mID

std::string mID
protectedinherited

The id of this node.

◆ mParent

AbstractNodePtr mParent
protectedinherited

Pointer to the parent node within the tree.

◆ mChildren

std::list<AbstractNodePtr> mChildren
protectedinherited

List with pointers to the children within the transformation tree.


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