Fawkes API
Fawkes Development Version
|
Laser360Interface Fawkes BlackBoard Interface. More...
#include <>>
Classes | |
struct | Laser360Interface_data_t |
Internal data storage, do NOT modify! More... | |
Public Member Functions | |
virtual bool | message_valid (const Message *message) const |
Check if message is valid and can be enqueued. | |
char * | frame () const |
Get frame value. | |
void | set_frame (const char *new_frame) |
Set frame value. | |
size_t | maxlenof_frame () const |
Get maximum length of frame value. | |
float * | distances () const |
Get distances value. | |
float | distances (unsigned int index) const |
Get distances value at given index. | |
void | set_distances (unsigned int index, const float new_distances) |
Set distances value at given index. | |
void | set_distances (const float *new_distances) |
Set distances value. | |
size_t | maxlenof_distances () const |
Get maximum length of distances value. | |
bool | is_clockwise_angle () const |
Get clockwise_angle value. | |
void | set_clockwise_angle (const bool new_clockwise_angle) |
Set clockwise_angle value. | |
size_t | maxlenof_clockwise_angle () const |
Get maximum length of clockwise_angle value. | |
virtual Message * | create_message (const char *type) const |
Create message based on type name. | |
virtual void | copy_values (const Interface *other) |
Copy values from other interface. | |
virtual const char * | enum_tostring (const char *enumtype, int val) const |
Convert arbitrary enum value to string. |
Laser360Interface Fawkes BlackBoard Interface.
This interface provides access to data of a laser scanner that produces 360 beams per scan. The inter-beam distance is 1 deg, 0 deg is "forward", i.e. in the Fawkes coordinate system pointing towards the cartesian point (1,0). The direction in which the angle grows is indicated by the clockwise_angle field.
void fawkes::Laser360Interface::copy_values | ( | const Interface * | other | ) | [virtual] |
Copy values from other interface.
other | other interface to copy values from |
Implements fawkes::Interface.
Definition at line 219 of file Laser360Interface.cpp.
References fawkes::Message::type(), and fawkes::Interface::type().
Message * fawkes::Laser360Interface::create_message | ( | const char * | type | ) | const [virtual] |
Create message based on type name.
This will create a new message of the given type. The type must be given without the InterfaceName:: prefix but just the plain class name of the message.
type | message type |
UnknownTypeException | thrown if this interface cannot create a message of the given type. |
Implements fawkes::Interface.
Definition at line 208 of file Laser360Interface.cpp.
float * fawkes::Laser360Interface::distances | ( | ) | const |
Get distances value.
The distances in meter of the beams.
Definition at line 110 of file Laser360Interface.cpp.
Referenced by AmclThread::loop(), LaserHtSensorProcThread::loop(), RosLaserScanThread::bb_interface_data_changed(), LaserDrawingArea::draw_beams(), and LaserDrawingArea::draw_segments().
float fawkes::Laser360Interface::distances | ( | unsigned int | index | ) | const |
Get distances value at given index.
The distances in meter of the beams.
index | index of value |
Exception | thrown if index is out of bounds |
Definition at line 124 of file Laser360Interface.cpp.
const char * fawkes::Laser360Interface::enum_tostring | ( | const char * | enumtype, |
int | val | ||
) | const [virtual] |
Convert arbitrary enum value to string.
Given the string representation of the enum type and the value this method returns the string representation of the specific value, or the string UNKNOWN if the value is not defined. An exception is thrown if the enum type is invalid.
enumtype | enum type as string |
val | value to convert |
UnknownTypeException | thrown if enumtype is not specified for interface. |
Implements fawkes::Interface.
Definition at line 230 of file Laser360Interface.cpp.
char * fawkes::Laser360Interface::frame | ( | ) | const |
Get frame value.
Coordinate frame in which the data is presented.
Definition at line 75 of file Laser360Interface.cpp.
Referenced by LaserPointCloudThread::bb_interface_created(), RosLaserScanThread::bb_interface_data_changed(), and RosLaserScanThread::bb_interface_created().
bool fawkes::Laser360Interface::is_clockwise_angle | ( | ) | const |
Get clockwise_angle value.
True if the angle grows clockwise.
Definition at line 178 of file Laser360Interface.cpp.
Referenced by LaserDrawingArea::draw_beams().
size_t fawkes::Laser360Interface::maxlenof_clockwise_angle | ( | ) | const |
Get maximum length of clockwise_angle value.
Definition at line 188 of file Laser360Interface.cpp.
size_t fawkes::Laser360Interface::maxlenof_distances | ( | ) | const |
Get maximum length of distances value.
Definition at line 137 of file Laser360Interface.cpp.
Referenced by AmclThread::loop(), LaserHtSensorProcThread::loop(), and LaserDrawingArea::draw_beams().
size_t fawkes::Laser360Interface::maxlenof_frame | ( | ) | const |
Get maximum length of frame value.
Definition at line 85 of file Laser360Interface.cpp.
bool fawkes::Laser360Interface::message_valid | ( | const Message * | message | ) | const [virtual] |
Check if message is valid and can be enqueued.
message | Message to check |
Implements fawkes::Interface.
Definition at line 241 of file Laser360Interface.cpp.
void fawkes::Laser360Interface::set_clockwise_angle | ( | const bool | new_clockwise_angle | ) |
Set clockwise_angle value.
True if the angle grows clockwise.
new_clockwise_angle | new clockwise_angle value |
Definition at line 200 of file Laser360Interface.cpp.
References fawkes::Interface::data_changed.
void fawkes::Laser360Interface::set_distances | ( | unsigned int | index, |
const float | new_distances | ||
) |
Set distances value at given index.
The distances in meter of the beams.
new_distances | new distances value |
index | index for of the value |
Definition at line 163 of file Laser360Interface.cpp.
References fawkes::Interface::data_changed.
Referenced by MapLaserGenThread::loop(), LaserSensorThread::loop(), PlayerLaserMapper::sync_player_to_fawkes(), and RosLaserScanThread::loop().
void fawkes::Laser360Interface::set_distances | ( | const float * | new_distances | ) |
Set distances value.
The distances in meter of the beams.
new_distances | new distances value |
Definition at line 149 of file Laser360Interface.cpp.
References fawkes::Interface::data_changed.
void fawkes::Laser360Interface::set_frame | ( | const char * | new_frame | ) |
Set frame value.
Coordinate frame in which the data is presented.
new_frame | new frame value |
Definition at line 97 of file Laser360Interface.cpp.
References fawkes::Interface::data_changed.
Referenced by AmclThread::init(), MapLaserGenThread::init(), LaserSensorThread::init(), and RosLaserScanThread::loop().