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> 149 typedef struct __attribute__((packed)) {
150 int64_t timestamp_sec;
151 int64_t timestamp_usec;
169 } NavGraphGeneratorInterface_data_t;
171 NavGraphGeneratorInterface_data_t *data;
183 typedef struct __attribute__((packed)) {
184 int64_t timestamp_sec;
185 int64_t timestamp_usec;
186 } ClearMessage_data_t;
188 ClearMessage_data_t *data;
207 typedef struct __attribute__((packed)) {
208 int64_t timestamp_sec;
209 int64_t timestamp_usec;
211 } SetAlgorithmMessage_data_t;
213 SetAlgorithmMessage_data_t *data;
236 typedef struct __attribute__((packed)) {
237 int64_t timestamp_sec;
238 int64_t timestamp_usec;
246 } SetAlgorithmParameterMessage_data_t;
248 SetAlgorithmParameterMessage_data_t *data;
261 char *
param()
const;
264 char *
value()
const;
274 typedef struct __attribute__((packed)) {
275 int64_t timestamp_sec;
276 int64_t timestamp_usec;
281 } SetBoundingBoxMessage_data_t;
283 SetBoundingBoxMessage_data_t *data;
290 SetBoundingBoxMessage(
const float ini_p1_x,
const float ini_p1_y,
const float ini_p2_x,
const float ini_p2_y);
297 void set_p1_x(
const float new_p1_x);
300 void set_p1_y(
const float new_p1_y);
303 void set_p2_x(
const float new_p2_x);
306 void set_p2_y(
const float new_p2_y);
315 typedef struct __attribute__((packed)) {
316 int64_t timestamp_sec;
317 int64_t timestamp_usec;
322 } SetFilterMessage_data_t;
324 SetFilterMessage_data_t *data;
350 typedef struct __attribute__((packed)) {
351 int64_t timestamp_sec;
352 int64_t timestamp_usec;
359 } SetFilterParamFloatMessage_data_t;
361 SetFilterParamFloatMessage_data_t *data;
377 char *
param()
const;
390 typedef struct __attribute__((packed)) {
391 int64_t timestamp_sec;
392 int64_t timestamp_usec;
397 } AddMapObstaclesMessage_data_t;
399 AddMapObstaclesMessage_data_t *data;
422 typedef struct __attribute__((packed)) {
423 int64_t timestamp_sec;
424 int64_t timestamp_usec;
430 } AddObstacleMessage_data_t;
432 AddObstacleMessage_data_t *data;
446 void set_name(
const char * new_name);
449 void set_x(
const float new_x);
452 void set_y(
const float new_y);
461 typedef struct __attribute__((packed)) {
462 int64_t timestamp_sec;
463 int64_t timestamp_usec;
467 } RemoveObstacleMessage_data_t;
469 RemoveObstacleMessage_data_t *data;
483 void set_name(
const char * new_name);
492 typedef struct __attribute__((packed)) {
493 int64_t timestamp_sec;
494 int64_t timestamp_usec;
503 } AddPointOfInterestMessage_data_t;
505 AddPointOfInterestMessage_data_t *data;
519 void set_name(
const char * new_name);
522 void set_x(
const float new_x);
525 void set_y(
const float new_y);
537 typedef struct __attribute__((packed)) {
538 int64_t timestamp_sec;
539 int64_t timestamp_usec;
549 } AddPointOfInterestWithOriMessage_data_t;
551 AddPointOfInterestWithOriMessage_data_t *data;
565 void set_name(
const char * new_name);
568 void set_x(
const float new_x);
571 void set_y(
const float new_y);
574 void set_ori(
const float new_ori);
586 typedef struct __attribute__((packed)) {
587 int64_t timestamp_sec;
588 int64_t timestamp_usec;
595 } SetPointOfInterestPropertyMessage_data_t;
597 SetPointOfInterestPropertyMessage_data_t *data;
611 void set_name(
const char * new_name);
626 typedef struct __attribute__((packed)) {
627 int64_t timestamp_sec;
628 int64_t timestamp_usec;
636 } AddEdgeMessage_data_t;
638 AddEdgeMessage_data_t *data;
645 AddEdgeMessage(
const char * ini_p1,
const char * ini_p2,
const bool ini_directed,
const EdgeMode ini_mode);
652 void set_p1(
const char * new_p1);
655 void set_p2(
const char * new_p2);
670 typedef struct __attribute__((packed)) {
671 int64_t timestamp_sec;
672 int64_t timestamp_usec;
676 } SetGraphDefaultPropertyMessage_data_t;
678 SetGraphDefaultPropertyMessage_data_t *data;
704 typedef struct __attribute__((packed)) {
705 int64_t timestamp_sec;
706 int64_t timestamp_usec;
709 } SetCopyGraphDefaultPropertiesMessage_data_t;
711 SetCopyGraphDefaultPropertiesMessage_data_t *data;
734 typedef struct __attribute__((packed)) {
735 int64_t timestamp_sec;
736 int64_t timestamp_usec;
740 } RemovePointOfInterestMessage_data_t;
742 RemovePointOfInterestMessage_data_t *data;
756 void set_name(
const char * new_name);
765 typedef struct __attribute__((packed)) {
766 int64_t timestamp_sec;
767 int64_t timestamp_usec;
768 } ComputeMessage_data_t;
770 ComputeMessage_data_t *data;
792 uint32_t
msgid()
const;
793 void set_msgid(
const uint32_t new_msgid);
799 void set_ok(
const bool new_ok);
807 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.
void set_error_message(const char *new_error_message)
Set error_message 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.
SetAlgorithmMessage 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.
Algorithm
Available generator algorithms.
bool is_ok() const
Get ok 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.
char * value() const
Get value value.
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
Describe how to connect nodes to the graph.
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.
SetAlgorithmParameterMessage Fawkes BlackBoard Interface Message.
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.
size_t maxlenof_algorithm() const
Get maximum length of algorithm value.
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_param() const
Get maximum length of param 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 char *new_value)
Set value value.
void set_value(const float new_value)
Set value value.
Voronoi-based algorithm for navgraph generation.
uint32_t msgid() const
Get msgid value.
~SetAlgorithmMessage()
Destructor.
const char * tostring_Algorithm(Algorithm value) const
Convert Algorithm constant to string.
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.
SetAlgorithmParameterMessage()
Constructor.
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.
Algorithm algorithm() const
Get algorithm value.
~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.
~SetAlgorithmParameterMessage()
Destructor.
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.
size_t maxlenof_ok() const
Get maximum length of ok value.
void set_x(const float new_x)
Set x value.
SetFilterMessage()
Constructor.
virtual Message * clone() const
Clone this message.
virtual Message * clone() const
Clone this message.
char * property_value() const
Get property_value value.
void set_ok(const bool new_ok)
Set ok value.
bool is_enable_copy() const
Get enable_copy value.
char * p2() const
Get p2 value.
char * error_message() const
Get error_message value.
SetAlgorithmMessage()
Constructor.
Grid-based algorithm with customizable spacing.
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.
size_t maxlenof_value() const
Get maximum length of value value.
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.
void set_algorithm(const Algorithm new_algorithm)
Set algorithm 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.
char * param() const
Get param value.
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.
size_t maxlenof_error_message() const
Get maximum length of error_message 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.
void set_param(const char *new_param)
Set param 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.