Fawkes API
Fawkes Development Version
|
Receive transforms and answer queries. More...
#include <>>
Public Member Functions | |
TransformListener (BlackBoard *bb, Transformer *tf_transformer) | |
Constructor. More... | |
virtual | ~TransformListener () |
Destructor. More... | |
virtual void | bb_interface_created (const char *type, const char *id) throw () |
BlackBoard interface created notification. More... | |
virtual void | bb_interface_data_changed (Interface *interface) throw () |
BlackBoard data changed notification. More... | |
virtual void | bb_interface_writer_removed (Interface *interface, unsigned int instance_serial) throw () |
A writing instance has been closed for a watched interface. More... | |
virtual void | bb_interface_reader_removed (Interface *interface, unsigned int instance_serial) throw () |
A reading instance has been closed for a watched interface. More... | |
![]() | |
BlackBoardInterfaceObserver () | |
Empty constructor. More... | |
virtual | ~BlackBoardInterfaceObserver () |
Destructor. More... | |
virtual void | bb_interface_destroyed (const char *type, const char *id) throw () |
BlackBoard interface destroyed notification. More... | |
![]() | |
BlackBoardInterfaceListener (const char *name_format,...) | |
Constructor. More... | |
virtual | ~BlackBoardInterfaceListener () |
Destructor. More... | |
const char * | bbil_name () const |
Get BBIL name. More... | |
virtual bool | bb_interface_message_received (Interface *interface, Message *message) throw () |
BlackBoard message received notification. More... | |
virtual void | bb_interface_writer_added (Interface *interface, unsigned int instance_serial) throw () |
A writing instance has been opened for a watched interface. More... | |
virtual void | bb_interface_reader_added (Interface *interface, unsigned int instance_serial) throw () |
A reading instance has been opened for a watched interface. More... | |
Additional Inherited Members | |
![]() | |
enum | QueueEntryType { DATA = 0, MESSAGES = 1, READER = 2, WRITER = 3 } |
Queue entry type. More... | |
typedef std::list< QueueEntry > | InterfaceQueue |
Queue of additions/removal of interfaces. More... | |
typedef std::map< std::string, Interface * > | InterfaceMap |
Map of currently active event subscriptions. More... | |
![]() | |
typedef LockMap< std::string, std::list< std::string > > | ObservedInterfaceLockMap |
Type for lockable interface type hash sets. More... | |
typedef ObservedInterfaceLockMap::iterator | ObservedInterfaceLockMapIterator |
Type for iterator of lockable interface type hash sets. More... | |
![]() | |
void | bbio_add_observed_create (const char *type_pattern, const char *id_pattern="*") throw () |
Add interface creation type to watch list. More... | |
void | bbio_add_observed_destroy (const char *type_pattern, const char *id_pattern="*") throw () |
Add interface destruction type to watch list. More... | |
ObservedInterfaceLockMap * | bbio_get_observed_create () throw () |
Get interface creation type watch list. More... | |
ObservedInterfaceLockMap * | bbio_get_observed_destroy () throw () |
Get interface destriction type watch list. More... | |
![]() | |
void | bbil_add_data_interface (Interface *interface) |
Add an interface to the data modification watch list. More... | |
void | bbil_add_message_interface (Interface *interface) |
Add an interface to the message received watch list. More... | |
void | bbil_add_reader_interface (Interface *interface) |
Add an interface to the reader addition/removal watch list. More... | |
void | bbil_add_writer_interface (Interface *interface) |
Add an interface to the writer addition/removal watch list. More... | |
void | bbil_remove_data_interface (Interface *interface) |
Remove an interface to the data modification watch list. More... | |
void | bbil_remove_message_interface (Interface *interface) |
Remove an interface to the message received watch list. More... | |
void | bbil_remove_reader_interface (Interface *interface) |
Remove an interface to the reader addition/removal watch list. More... | |
void | bbil_remove_writer_interface (Interface *interface) |
Remove an interface to the writer addition/removal watch list. More... | |
Interface * | bbil_data_interface (const char *iuid) throw () |
Get interface instance for given UID. More... | |
Interface * | bbil_message_interface (const char *iuid) throw () |
Get interface instance for given UID. More... | |
Interface * | bbil_reader_interface (const char *iuid) throw () |
Get interface instance for given UID. More... | |
Interface * | bbil_writer_interface (const char *iuid) throw () |
Get interface instance for given UID. More... | |
Receive transforms and answer queries.
This class connects to the blackboard and listens to all interfaces publishing transforms. It opens all interfaces of type TransformInterface with a TF prefix. The data is internally cached. Queries are then resolved based on the received information.
Definition at line 75 of file transform_listener.h.
fawkes::tf::TransformListener::TransformListener | ( | BlackBoard * | bb, |
Transformer * | tf_transformer | ||
) |
Constructor.
bb | blackboard to listen to |
tf_transformer | transformer to add transforms to |
Definition at line 81 of file transform_listener.cpp.
References fawkes::BlackBoardInterfaceListener::bbil_add_data_interface(), fawkes::BlackBoardInterfaceObserver::bbio_add_observed_create(), fawkes::BlackBoard::open_multiple_for_reading(), fawkes::BlackBoard::register_listener(), fawkes::BlackBoard::register_observer(), and fawkes::tf::Transformer::set_enabled().
|
virtual |
Destructor.
Definition at line 104 of file transform_listener.cpp.
References fawkes::BlackBoard::close(), fawkes::BlackBoard::unregister_listener(), and fawkes::BlackBoard::unregister_observer().
|
virtual |
BlackBoard interface created notification.
This is called whenever an interface is created for a type that you registered for.
type | type of the interface. If you want to store this make a copy as it is not guaranteed that the supplied string exists for longer than the duration of the method call |
id | ID of the newly created interface. If you want to store this make a copy as it is not guaranteed that the supplied string exists for longer than the duration of the method call |
Reimplemented from fawkes::BlackBoardInterfaceObserver.
Definition at line 120 of file transform_listener.cpp.
References fawkes::BlackBoardInterfaceListener::bbil_add_data_interface(), fawkes::BlackBoard::close(), fawkes::BlackBoard::open_for_reading(), and fawkes::BlackBoard::update_listener().
|
virtual |
BlackBoard data changed notification.
This is called whenever the data in an interface that you registered for is modified. This happens if a writer calls the Interface::write() method.
interface | interface instance that you supplied to bbil_add_data_interface() |
Reimplemented from fawkes::BlackBoardInterfaceListener.
Definition at line 184 of file transform_listener.cpp.
References fawkes::TransformInterface::child_frame(), fawkes::TransformInterface::frame(), fawkes::TransformInterface::is_static_transform(), fawkes::Interface::read(), fawkes::TransformInterface::rotation(), fawkes::tf::BufferCore::set_transform(), fawkes::Interface::timestamp(), fawkes::TransformInterface::translation(), and fawkes::Interface::writer().
|
virtual |
A reading instance has been closed for a watched interface.
This is called whenever a reading instance of an interface you are watching is closed.
interface | interface instance that you supplied to bbil_add_reader_interface() |
instance_serial | the instance serial of the reading instance that has just been removed. |
Reimplemented from fawkes::BlackBoardInterfaceListener.
Definition at line 152 of file transform_listener.cpp.
References fawkes::BlackBoardInterfaceListener::bbil_remove_data_interface(), fawkes::BlackBoard::close(), fawkes::Interface::has_writer(), fawkes::Interface::num_readers(), and fawkes::BlackBoard::update_listener().
|
virtual |
A writing instance has been closed for a watched interface.
This is called whenever a writing instance of an interface you are watching is closed.
interface | interface instance that you supplied to bbil_add_writer_interface() |
instance_serial | the instance serial of the writing instance that has just been removed. |
Reimplemented from fawkes::BlackBoardInterfaceListener.
Definition at line 143 of file transform_listener.cpp.