24 #ifndef __INTERFACES_NAVGRAPHGENERATORINTERFACE_H_ 25 #define __INTERFACES_NAVGRAPHGENERATORINTERFACE_H_ 27 #include <interface/interface.h> 28 #include <interface/message.h> 29 #include <interface/field_iterator.h> 127 typedef struct __attribute__((packed)) {
128 int64_t timestamp_sec;
129 int64_t timestamp_usec;
139 } NavGraphGeneratorInterface_data_t;
141 NavGraphGeneratorInterface_data_t *data;
152 typedef struct __attribute__((packed)) {
153 int64_t timestamp_sec;
154 int64_t timestamp_usec;
155 } ClearMessage_data_t;
157 ClearMessage_data_t *data;
175 typedef struct __attribute__((packed)) {
176 int64_t timestamp_sec;
177 int64_t timestamp_usec;
182 } SetBoundingBoxMessage_data_t;
184 SetBoundingBoxMessage_data_t *data;
190 SetBoundingBoxMessage(
const float ini_p1_x,
const float ini_p1_y,
const float ini_p2_x,
const float ini_p2_y);
197 void set_p1_x(
const float new_p1_x);
200 void set_p1_y(
const float new_p1_y);
203 void set_p2_x(
const float new_p2_x);
206 void set_p2_y(
const float new_p2_y);
215 typedef struct __attribute__((packed)) {
216 int64_t timestamp_sec;
217 int64_t timestamp_usec;
222 } SetFilterMessage_data_t;
224 SetFilterMessage_data_t *data;
249 typedef struct __attribute__((packed)) {
250 int64_t timestamp_sec;
251 int64_t timestamp_usec;
258 } SetFilterParamFloatMessage_data_t;
260 SetFilterParamFloatMessage_data_t *data;
275 char *
param()
const;
288 typedef struct __attribute__((packed)) {
289 int64_t timestamp_sec;
290 int64_t timestamp_usec;
295 } AddMapObstaclesMessage_data_t;
297 AddMapObstaclesMessage_data_t *data;
319 typedef struct __attribute__((packed)) {
320 int64_t timestamp_sec;
321 int64_t timestamp_usec;
327 } AddObstacleMessage_data_t;
329 AddObstacleMessage_data_t *data;
342 void set_name(
const char * new_name);
345 void set_x(
const float new_x);
348 void set_y(
const float new_y);
357 typedef struct __attribute__((packed)) {
358 int64_t timestamp_sec;
359 int64_t timestamp_usec;
363 } RemoveObstacleMessage_data_t;
365 RemoveObstacleMessage_data_t *data;
378 void set_name(
const char * new_name);
387 typedef struct __attribute__((packed)) {
388 int64_t timestamp_sec;
389 int64_t timestamp_usec;
398 } AddPointOfInterestMessage_data_t;
400 AddPointOfInterestMessage_data_t *data;
413 void set_name(
const char * new_name);
416 void set_x(
const float new_x);
419 void set_y(
const float new_y);
431 typedef struct __attribute__((packed)) {
432 int64_t timestamp_sec;
433 int64_t timestamp_usec;
443 } AddPointOfInterestWithOriMessage_data_t;
445 AddPointOfInterestWithOriMessage_data_t *data;
458 void set_name(
const char * new_name);
461 void set_x(
const float new_x);
464 void set_y(
const float new_y);
467 void set_ori(
const float new_ori);
479 typedef struct __attribute__((packed)) {
480 int64_t timestamp_sec;
481 int64_t timestamp_usec;
488 } SetPointOfInterestPropertyMessage_data_t;
490 SetPointOfInterestPropertyMessage_data_t *data;
503 void set_name(
const char * new_name);
518 typedef struct __attribute__((packed)) {
519 int64_t timestamp_sec;
520 int64_t timestamp_usec;
528 } AddEdgeMessage_data_t;
530 AddEdgeMessage_data_t *data;
536 AddEdgeMessage(
const char * ini_p1,
const char * ini_p2,
const bool ini_directed,
const EdgeMode ini_mode);
543 void set_p1(
const char * new_p1);
546 void set_p2(
const char * new_p2);
561 typedef struct __attribute__((packed)) {
562 int64_t timestamp_sec;
563 int64_t timestamp_usec;
567 } SetGraphDefaultPropertyMessage_data_t;
569 SetGraphDefaultPropertyMessage_data_t *data;
594 typedef struct __attribute__((packed)) {
595 int64_t timestamp_sec;
596 int64_t timestamp_usec;
599 } SetCopyGraphDefaultPropertiesMessage_data_t;
601 SetCopyGraphDefaultPropertiesMessage_data_t *data;
623 typedef struct __attribute__((packed)) {
624 int64_t timestamp_sec;
625 int64_t timestamp_usec;
629 } RemovePointOfInterestMessage_data_t;
631 RemovePointOfInterestMessage_data_t *data;
644 void set_name(
const char * new_name);
653 typedef struct __attribute__((packed)) {
654 int64_t timestamp_sec;
655 int64_t timestamp_usec;
656 } ComputeMessage_data_t;
658 ComputeMessage_data_t *data;
679 uint32_t
msgid()
const;
680 void set_msgid(
const uint32_t new_msgid);
688 virtual const char *
enum_tostring(
const char *enumtype,
int val)
const;
~AddObstacleMessage()
Destructor.
void set_msgid(const uint32_t new_msgid)
Set msgid value.
char * name() const
Get name value.
size_t maxlenof_mode() const
Get maximum length of mode value.
void set_name(const char *new_name)
Set name value.
void set_y(const float new_y)
Set y value.
SetFilterParamFloatMessage Fawkes BlackBoard Interface Message.
FilterType filter() const
Get filter value.
void set_p2_y(const float new_p2_y)
Set p2_y value.
RemovePointOfInterestMessage Fawkes BlackBoard Interface Message.
float p2_y() const
Get p2_y value.
AddPointOfInterestMessage Fawkes BlackBoard Interface Message.
size_t maxlenof_p2_x() const
Get maximum length of p2_x value.
The node is marked as unconnected and will not be connected to another node.
size_t maxlenof_name() const
Get maximum length of name value.
~AddPointOfInterestMessage()
Destructor.
virtual Message * clone() const
Clone this message.
void set_mode(const ConnectionMode new_mode)
Set mode value.
void set_max_line_point_distance(const float new_max_line_point_distance)
Set max_line_point_distance value.
EdgeMode
When adding edges, the mode defines how to add edges.
~ClearMessage()
Destructor.
size_t maxlenof_y() const
Get maximum length of y value.
float value() const
Get value value.
float max_line_point_distance() const
Get max_line_point_distance value.
Base class for all messages passed through interfaces in Fawkes BlackBoard.
const char * tostring_EdgeMode(EdgeMode value) const
Convert EdgeMode constant to string.
void set_property_value(const char *new_property_value)
Set property_value value.
virtual Message * clone() const
Clone this message.
size_t maxlenof_x() const
Get maximum length of x value.
virtual Message * clone() const
Clone this message.
AddPointOfInterestWithOriMessage Fawkes BlackBoard Interface Message.
~AddMapObstaclesMessage()
Destructor.
SetGraphDefaultPropertyMessage Fawkes BlackBoard Interface Message.
virtual Message * clone() const
Clone this message.
void set_property_name(const char *new_property_name)
Set property_name value.
SetCopyGraphDefaultPropertiesMessage Fawkes BlackBoard Interface Message.
size_t maxlenof_name() const
Get maximum length of name value.
size_t maxlenof_name() const
Get maximum length of name value.
virtual Message * clone() const
Clone this message.
float p1_x() const
Get p1_x value.
ComputeMessage()
Constructor.
char * name() const
Get name value.
Fawkes library namespace.
void set_p1(const char *new_p1)
Set p1 value.
float p2_x() const
Get p2_x value.
size_t maxlenof_value() const
Get maximum length of value value.
~RemovePointOfInterestMessage()
Destructor.
size_t maxlenof_max_line_point_distance() const
Get maximum length of max_line_point_distance value.
SetFilterMessage Fawkes BlackBoard Interface Message.
virtual Message * clone() const
Clone this message.
size_t maxlenof_ori() const
Get maximum length of ori value.
virtual bool message_valid(const Message *message) const
Check if message is valid and can be enqueued.
void set_x(const float new_x)
Set x value.
SetBoundingBoxMessage Fawkes BlackBoard Interface Message.
size_t maxlenof_property_value() const
Get maximum length of property_value value.
void set_filter(const FilterType new_filter)
Set filter value.
float x() const
Get x value.
void set_param(const char *new_param)
Set param value.
If enabled, filters out all nodes which are not connected to any other node.
SetFilterParamFloatMessage()
Constructor.
EdgeMode mode() const
Get mode value.
ConnectionMode
Drive modes enum.
RemoveObstacleMessage()
Constructor.
ClearMessage()
Constructor.
size_t maxlenof_msgid() const
Get maximum length of msgid value.
const char * tostring_FilterType(FilterType value) const
Convert FilterType constant to string.
Sometimes after applying other filters one can end up with multiple disconnected graphs.
virtual Message * clone() const
Clone this message.
size_t maxlenof_filter() const
Get maximum length of filter value.
The node is will not be initially connected.
Base class for all Fawkes BlackBoard interfaces.
void set_ori(const float new_ori)
Set ori value.
size_t maxlenof_directed() const
Get maximum length of directed value.
size_t maxlenof_name() const
Get maximum length of name value.
If enabled, filters out all edges after the map generation that pass too close by an occupied cell of...
virtual Message * create_message(const char *type) const
Create message based on type name.
size_t maxlenof_property_value() const
Get maximum length of property_value value.
AddObstacleMessage Fawkes BlackBoard Interface Message.
~SetCopyGraphDefaultPropertiesMessage()
Destructor.
float p1_y() const
Get p1_y value.
SetPointOfInterestPropertyMessage Fawkes BlackBoard Interface Message.
float y() const
Get y value.
size_t maxlenof_filter() const
Get maximum length of filter value.
size_t maxlenof_name() const
Get maximum length of name value.
ConnectionMode mode() const
Get mode value.
virtual Message * clone() const
Clone this message.
void set_y(const float new_y)
Set y value.
virtual Message * clone() const
Clone this message.
~SetFilterParamFloatMessage()
Destructor.
void set_value(const float new_value)
Set value value.
uint32_t msgid() const
Get msgid value.
char * name() const
Get name value.
The edge is added as-is, it may overlap or intersect with other edges.
virtual Message * clone() const
Clone this message.
FilterType filter() const
Get filter value.
bool is_final() const
Get final value.
char * name() const
Get name value.
AddPointOfInterestWithOriMessage()
Constructor.
NavGraphGeneratorInterface Fawkes BlackBoard Interface.
SetCopyGraphDefaultPropertiesMessage()
Constructor.
float y() const
Get y value.
SetPointOfInterestPropertyMessage()
Constructor.
virtual Message * clone() const
Clone this message.
ComputeMessage Fawkes BlackBoard Interface Message.
size_t maxlenof_property_name() const
Get maximum length of property_name value.
size_t maxlenof_enable() const
Get maximum length of enable value.
~AddPointOfInterestWithOriMessage()
Destructor.
size_t maxlenof_p1_x() const
Get maximum length of p1_x value.
size_t maxlenof_p2_y() const
Get maximum length of p2_y value.
char * property_name() const
Get property_name value.
const char * type() const
Get type of interface.
~SetBoundingBoxMessage()
Destructor.
~RemoveObstacleMessage()
Destructor.
float x() const
Get x value.
size_t maxlenof_p2() const
Get maximum length of p2 value.
virtual Message * clone() const
Clone this message.
size_t maxlenof_mode() const
Get maximum length of mode value.
void set_name(const char *new_name)
Set name value.
void set_final(const bool new_final)
Set final value.
float ori() const
Get ori value.
void set_y(const float new_y)
Set y value.
char * param() const
Get param value.
char * p1() const
Get p1 value.
void set_p2(const char *new_p2)
Set p2 value.
size_t maxlenof_x() const
Get maximum length of x value.
char * property_value() const
Get property_value value.
void set_x(const float new_x)
Set x value.
SetFilterMessage()
Constructor.
char * property_value() const
Get property_value value.
bool is_enable_copy() const
Get enable_copy value.
char * p2() const
Get p2 value.
void set_name(const char *new_name)
Set name value.
size_t maxlenof_property_name() const
Get maximum length of property_name value.
void set_p2_x(const float new_p2_x)
Set p2_x value.
virtual void copy_values(const Interface *other)
Copy values from other interface.
size_t maxlenof_final() const
Get maximum length of final value.
void set_filter(const FilterType new_filter)
Set filter value.
AddObstacleMessage()
Constructor.
bool is_enable() const
Get enable value.
Only insert edge if it does not intersect with any other existing edge in the graph.
void set_property_value(const char *new_property_value)
Set property_value value.
void set_p1_x(const float new_p1_x)
Set p1_x value.
FilterType
Post-processing filtering type.
void set_property_name(const char *new_property_name)
Set property_name value.
size_t maxlenof_p1() const
Get maximum length of p1 value.
virtual Message * clone() const
Clone this message.
~SetPointOfInterestPropertyMessage()
Destructor.
const char * tostring_ConnectionMode(ConnectionMode value) const
Convert ConnectionMode constant to string.
ClearMessage Fawkes BlackBoard Interface Message.
size_t maxlenof_name() const
Get maximum length of name value.
ConnectionMode mode() const
Get mode value.
SetGraphDefaultPropertyMessage()
Constructor.
~SetGraphDefaultPropertyMessage()
Destructor.
void set_mode(const ConnectionMode new_mode)
Set mode value.
void set_enable_copy(const bool new_enable_copy)
Set enable_copy value.
size_t maxlenof_p1_y() const
Get maximum length of p1_y value.
virtual Message * clone() const
Clone this message.
AddMapObstaclesMessage Fawkes BlackBoard Interface Message.
~SetFilterMessage()
Destructor.
RemovePointOfInterestMessage()
Constructor.
SetBoundingBoxMessage()
Constructor.
void set_name(const char *new_name)
Set name value.
~AddEdgeMessage()
Destructor.
size_t maxlenof_mode() const
Get maximum length of mode value.
void set_mode(const EdgeMode new_mode)
Set mode value.
size_t maxlenof_enable_copy() const
Get maximum length of enable_copy value.
void set_x(const float new_x)
Set x value.
First try the CLOSEST_EDGE method.
float y() const
Get y value.
~ComputeMessage()
Destructor.
char * name() const
Get name value.
Connect point to the node on the graph closest to the given point.
virtual Message * clone() const
Clone this message.
If the new edge intersects with one or more edges, add new points at the intersections and split the ...
void set_name(const char *new_name)
Set name value.
AddEdgeMessage Fawkes BlackBoard Interface Message.
void set_directed(const bool new_directed)
Set directed value.
Connect point to the edge in which segment it lies, i.e.
float x() const
Get x value.
RemoveObstacleMessage Fawkes BlackBoard Interface Message.
std::map< int, std::string > interface_enum_map_t
Map of enum integer to string values.
size_t maxlenof_y() const
Get maximum length of y value.
bool is_directed() const
Get directed value.
size_t maxlenof_x() const
Get maximum length of x value.
char * name() const
Get name value.
void set_name(const char *new_name)
Set name value.
AddPointOfInterestMessage()
Constructor.
virtual const char * enum_tostring(const char *enumtype, int val) const
Convert arbitrary enum value to string.
size_t maxlenof_param() const
Get maximum length of param value.
AddEdgeMessage()
Constructor.
void set_p1_y(const float new_p1_y)
Set p1_y value.
size_t maxlenof_y() const
Get maximum length of y value.
AddMapObstaclesMessage()
Constructor.
char * property_name() const
Get property_name value.
void set_enable(const bool new_enable)
Set enable value.