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