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>
150 int64_t timestamp_sec;
151 int64_t timestamp_usec;
169 } NavGraphGeneratorInterface_data_t;
171 NavGraphGeneratorInterface_data_t *data;
184 int64_t timestamp_sec;
185 int64_t timestamp_usec;
186 } ClearMessage_data_t;
188 ClearMessage_data_t *data;
208 int64_t timestamp_sec;
209 int64_t timestamp_usec;
211 } SetAlgorithmMessage_data_t;
213 SetAlgorithmMessage_data_t *data;
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;
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);
316 int64_t timestamp_sec;
317 int64_t timestamp_usec;
322 } SetFilterMessage_data_t;
324 SetFilterMessage_data_t *data;
351 int64_t timestamp_sec;
352 int64_t timestamp_usec;
359 } SetFilterParamFloatMessage_data_t;
361 SetFilterParamFloatMessage_data_t *data;
377 char *
param()
const;
391 int64_t timestamp_sec;
392 int64_t timestamp_usec;
397 } AddMapObstaclesMessage_data_t;
399 AddMapObstaclesMessage_data_t *data;
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);
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);
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);
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);
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);
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);
671 int64_t timestamp_sec;
672 int64_t timestamp_usec;
676 } SetGraphDefaultPropertyMessage_data_t;
678 SetGraphDefaultPropertyMessage_data_t *data;
705 int64_t timestamp_sec;
706 int64_t timestamp_usec;
709 } SetCopyGraphDefaultPropertiesMessage_data_t;
711 SetCopyGraphDefaultPropertiesMessage_data_t *data;
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);
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;
Base class for all Fawkes BlackBoard interfaces.
const char * type() const
Get type of interface.
Base class for all messages passed through interfaces in Fawkes BlackBoard.
AddEdgeMessage Fawkes BlackBoard Interface Message.
char * p2() const
Get p2 value.
void set_p2(const char *new_p2)
Set p2 value.
virtual Message * clone() const
Clone this message.
~AddEdgeMessage()
Destructor.
char * p1() const
Get p1 value.
void set_mode(const EdgeMode new_mode)
Set mode value.
size_t maxlenof_mode() const
Get maximum length of mode value.
EdgeMode mode() const
Get mode value.
size_t maxlenof_directed() const
Get maximum length of directed value.
AddEdgeMessage()
Constructor.
void set_p1(const char *new_p1)
Set p1 value.
void set_directed(const bool new_directed)
Set directed value.
size_t maxlenof_p1() const
Get maximum length of p1 value.
bool is_directed() const
Get directed value.
size_t maxlenof_p2() const
Get maximum length of p2 value.
AddMapObstaclesMessage Fawkes BlackBoard Interface Message.
void set_max_line_point_distance(const float new_max_line_point_distance)
Set max_line_point_distance value.
AddMapObstaclesMessage()
Constructor.
virtual Message * clone() const
Clone this message.
size_t maxlenof_max_line_point_distance() const
Get maximum length of max_line_point_distance value.
~AddMapObstaclesMessage()
Destructor.
float max_line_point_distance() const
Get max_line_point_distance value.
AddObstacleMessage Fawkes BlackBoard Interface Message.
size_t maxlenof_x() const
Get maximum length of x value.
float y() const
Get y value.
virtual Message * clone() const
Clone this message.
void set_y(const float new_y)
Set y value.
size_t maxlenof_y() const
Get maximum length of y value.
char * name() const
Get name value.
void set_name(const char *new_name)
Set name value.
float x() const
Get x value.
void set_x(const float new_x)
Set x value.
AddObstacleMessage()
Constructor.
size_t maxlenof_name() const
Get maximum length of name value.
~AddObstacleMessage()
Destructor.
AddPointOfInterestMessage Fawkes BlackBoard Interface Message.
~AddPointOfInterestMessage()
Destructor.
void set_y(const float new_y)
Set y value.
size_t maxlenof_y() const
Get maximum length of y value.
size_t maxlenof_mode() const
Get maximum length of mode value.
size_t maxlenof_x() const
Get maximum length of x value.
void set_x(const float new_x)
Set x value.
virtual Message * clone() const
Clone this message.
char * name() const
Get name value.
float x() const
Get x value.
AddPointOfInterestMessage()
Constructor.
size_t maxlenof_name() const
Get maximum length of name value.
void set_mode(const ConnectionMode new_mode)
Set mode value.
ConnectionMode mode() const
Get mode value.
float y() const
Get y value.
void set_name(const char *new_name)
Set name value.
AddPointOfInterestWithOriMessage Fawkes BlackBoard Interface Message.
size_t maxlenof_mode() const
Get maximum length of mode value.
size_t maxlenof_x() const
Get maximum length of x value.
ConnectionMode mode() const
Get mode value.
float ori() const
Get ori value.
void set_ori(const float new_ori)
Set ori value.
AddPointOfInterestWithOriMessage()
Constructor.
size_t maxlenof_ori() const
Get maximum length of ori value.
virtual Message * clone() const
Clone this message.
size_t maxlenof_y() const
Get maximum length of y value.
void set_x(const float new_x)
Set x value.
size_t maxlenof_name() const
Get maximum length of name value.
void set_name(const char *new_name)
Set name value.
float x() const
Get x value.
void set_mode(const ConnectionMode new_mode)
Set mode value.
void set_y(const float new_y)
Set y value.
float y() const
Get y value.
~AddPointOfInterestWithOriMessage()
Destructor.
char * name() const
Get name value.
ClearMessage Fawkes BlackBoard Interface Message.
ClearMessage()
Constructor.
virtual Message * clone() const
Clone this message.
~ClearMessage()
Destructor.
ComputeMessage Fawkes BlackBoard Interface Message.
virtual Message * clone() const
Clone this message.
~ComputeMessage()
Destructor.
ComputeMessage()
Constructor.
RemoveObstacleMessage Fawkes BlackBoard Interface Message.
void set_name(const char *new_name)
Set name value.
virtual Message * clone() const
Clone this message.
size_t maxlenof_name() const
Get maximum length of name value.
~RemoveObstacleMessage()
Destructor.
char * name() const
Get name value.
RemoveObstacleMessage()
Constructor.
RemovePointOfInterestMessage Fawkes BlackBoard Interface Message.
void set_name(const char *new_name)
Set name value.
RemovePointOfInterestMessage()
Constructor.
~RemovePointOfInterestMessage()
Destructor.
size_t maxlenof_name() const
Get maximum length of name value.
virtual Message * clone() const
Clone this message.
char * name() const
Get name value.
SetAlgorithmMessage Fawkes BlackBoard Interface Message.
SetAlgorithmMessage()
Constructor.
void set_algorithm(const Algorithm new_algorithm)
Set algorithm value.
~SetAlgorithmMessage()
Destructor.
size_t maxlenof_algorithm() const
Get maximum length of algorithm value.
virtual Message * clone() const
Clone this message.
Algorithm algorithm() const
Get algorithm value.
SetAlgorithmParameterMessage Fawkes BlackBoard Interface Message.
void set_param(const char *new_param)
Set param value.
size_t maxlenof_value() const
Get maximum length of value value.
~SetAlgorithmParameterMessage()
Destructor.
void set_value(const char *new_value)
Set value value.
SetAlgorithmParameterMessage()
Constructor.
char * param() const
Get param value.
char * value() const
Get value value.
size_t maxlenof_param() const
Get maximum length of param value.
virtual Message * clone() const
Clone this message.
SetBoundingBoxMessage Fawkes BlackBoard Interface Message.
float p2_x() const
Get p2_x value.
size_t maxlenof_p1_y() const
Get maximum length of p1_y value.
float p2_y() const
Get p2_y value.
~SetBoundingBoxMessage()
Destructor.
size_t maxlenof_p2_y() const
Get maximum length of p2_y value.
size_t maxlenof_p1_x() const
Get maximum length of p1_x value.
virtual Message * clone() const
Clone this message.
void set_p1_y(const float new_p1_y)
Set p1_y value.
float p1_y() const
Get p1_y value.
float p1_x() const
Get p1_x value.
void set_p1_x(const float new_p1_x)
Set p1_x value.
size_t maxlenof_p2_x() const
Get maximum length of p2_x value.
void set_p2_x(const float new_p2_x)
Set p2_x value.
SetBoundingBoxMessage()
Constructor.
void set_p2_y(const float new_p2_y)
Set p2_y value.
SetCopyGraphDefaultPropertiesMessage Fawkes BlackBoard Interface Message.
void set_enable_copy(const bool new_enable_copy)
Set enable_copy value.
SetCopyGraphDefaultPropertiesMessage()
Constructor.
~SetCopyGraphDefaultPropertiesMessage()
Destructor.
size_t maxlenof_enable_copy() const
Get maximum length of enable_copy value.
bool is_enable_copy() const
Get enable_copy value.
virtual Message * clone() const
Clone this message.
SetFilterMessage Fawkes BlackBoard Interface Message.
size_t maxlenof_enable() const
Get maximum length of enable value.
bool is_enable() const
Get enable value.
FilterType filter() const
Get filter value.
void set_enable(const bool new_enable)
Set enable value.
void set_filter(const FilterType new_filter)
Set filter value.
virtual Message * clone() const
Clone this message.
SetFilterMessage()
Constructor.
~SetFilterMessage()
Destructor.
size_t maxlenof_filter() const
Get maximum length of filter value.
SetFilterParamFloatMessage Fawkes BlackBoard Interface Message.
void set_param(const char *new_param)
Set param value.
size_t maxlenof_value() const
Get maximum length of value value.
float value() const
Get value value.
void set_filter(const FilterType new_filter)
Set filter value.
void set_value(const float new_value)
Set value value.
char * param() const
Get param value.
size_t maxlenof_filter() const
Get maximum length of filter value.
~SetFilterParamFloatMessage()
Destructor.
FilterType filter() const
Get filter value.
virtual Message * clone() const
Clone this message.
size_t maxlenof_param() const
Get maximum length of param value.
SetFilterParamFloatMessage()
Constructor.
SetGraphDefaultPropertyMessage Fawkes BlackBoard Interface Message.
char * property_value() const
Get property_value value.
void set_property_value(const char *new_property_value)
Set property_value value.
virtual Message * clone() const
Clone this message.
~SetGraphDefaultPropertyMessage()
Destructor.
void set_property_name(const char *new_property_name)
Set property_name value.
char * property_name() const
Get property_name value.
size_t maxlenof_property_name() const
Get maximum length of property_name value.
SetGraphDefaultPropertyMessage()
Constructor.
size_t maxlenof_property_value() const
Get maximum length of property_value value.
SetPointOfInterestPropertyMessage Fawkes BlackBoard Interface Message.
char * property_name() const
Get property_name value.
char * name() const
Get name value.
size_t maxlenof_property_name() const
Get maximum length of property_name value.
void set_property_value(const char *new_property_value)
Set property_value value.
~SetPointOfInterestPropertyMessage()
Destructor.
void set_property_name(const char *new_property_name)
Set property_name value.
SetPointOfInterestPropertyMessage()
Constructor.
char * property_value() const
Get property_value value.
virtual Message * clone() const
Clone this message.
size_t maxlenof_name() const
Get maximum length of name value.
void set_name(const char *new_name)
Set name value.
size_t maxlenof_property_value() const
Get maximum length of property_value value.
NavGraphGeneratorInterface Fawkes BlackBoard Interface.
char * error_message() const
Get error_message value.
void set_ok(const bool new_ok)
Set ok value.
const char * tostring_EdgeMode(EdgeMode value) const
Convert EdgeMode constant to string.
ConnectionMode
Describe how to connect nodes to the graph.
@ CLOSEST_EDGE
Connect point to the edge in which segment it lies, i.e.
@ UNCONNECTED
The node is marked as unconnected and will not be connected to another node.
@ CLOSEST_EDGE_OR_NODE
First try the CLOSEST_EDGE method.
@ CLOSEST_NODE
Connect point to the node on the graph closest to the given point.
@ NOT_CONNECTED
The node is will not be initially connected.
size_t maxlenof_error_message() const
Get maximum length of error_message value.
uint32_t msgid() const
Get msgid value.
virtual const char * enum_tostring(const char *enumtype, int val) const
Convert arbitrary enum value to string.
FilterType
Post-processing filtering type.
@ FILTER_MULTI_GRAPH
Sometimes after applying other filters one can end up with multiple disconnected graphs.
@ FILTER_EDGES_BY_MAP
If enabled, filters out all edges after the map generation that pass too close by an occupied cell of...
@ FILTER_ORPHAN_NODES
If enabled, filters out all nodes which are not connected to any other node.
void set_msgid(const uint32_t new_msgid)
Set msgid value.
void set_error_message(const char *new_error_message)
Set error_message value.
const char * tostring_FilterType(FilterType value) const
Convert FilterType constant to string.
bool is_ok() const
Get ok value.
size_t maxlenof_ok() const
Get maximum length of ok value.
virtual bool message_valid(const Message *message) const
Check if message is valid and can be enqueued.
size_t maxlenof_final() const
Get maximum length of final value.
const char * tostring_ConnectionMode(ConnectionMode value) const
Convert ConnectionMode constant to string.
virtual Message * create_message(const char *type) const
Create message based on type name.
const char * tostring_Algorithm(Algorithm value) const
Convert Algorithm constant to string.
Algorithm
Available generator algorithms.
@ ALGORITHM_VORONOI
Voronoi-based algorithm for navgraph generation.
@ ALGORITHM_GRID
Grid-based algorithm with customizable spacing.
size_t maxlenof_msgid() const
Get maximum length of msgid value.
virtual void copy_values(const Interface *other)
Copy values from other interface.
EdgeMode
When adding edges, the mode defines how to add edges.
@ NO_INTERSECTION
Only insert edge if it does not intersect with any other existing edge in the graph.
@ SPLIT_INTERSECTION
If the new edge intersects with one or more edges, add new points at the intersections and split the ...
@ FORCE
The edge is added as-is, it may overlap or intersect with other edges.
void set_final(const bool new_final)
Set final value.
bool is_final() const
Get final value.
Fawkes library namespace.
std::map< int, std::string > interface_enum_map_t
Map of enum integer to string values.