Formula Student Autonomous Systems
The code for the main driverless system
Loading...
Searching...
No Matches
marker.hpp File Reference
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <map>
#include <type_traits>
#include "common_lib/structures/cone.hpp"
#include "common_lib/structures/path_point.hpp"
#include "common_lib/structures/position.hpp"
#include "rclcpp/clock.hpp"
#include "rclcpp/rclcpp.hpp"
#include "std_msgs/msg/color_rgba.hpp"
#include "visualization_msgs/msg/marker.hpp"
#include "visualization_msgs/msg/marker_array.hpp"
Include dependency graph for marker.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  common_lib::communication::HasPosition< T, typename >
 A helper struct to check if a type T has a member named 'position'. More...
 
struct  common_lib::communication::HasPosition< T, std::enable_if_t< std::is_arithmetic_v< decltype(std::declval< T >().position.x)> &&std::is_arithmetic_v< decltype(std::declval< T >().position.y)> > >
 A specialization of the has_position struct for types T that do have a valid 'position' member. More...
 

Namespaces

namespace  common_lib
 
namespace  common_lib::communication
 

Typedefs

using K = CGAL::Exact_predicates_inexact_constructions_kernel
 
using Point = K::Point_2
 

Functions

const std::map< std::string, std::array< float, 4 >, std::less<> > & common_lib::communication::marker_color_map ()
 
const std::map< std::string, int, std::less<> > & common_lib::communication::marker_shape_map ()
 
template<typename T >
visualization_msgs::msg::MarkerArray common_lib::communication::marker_array_from_structure_array (const std::vector< T > &structure_array, const std::string &name_space, const std::string &frame_id, const std::string &color="red", const std::string &shape="cylinder", float scale=0.5, int action=visualization_msgs::msg::Marker::MODIFY)
 Converts a vector of cones to a marker array.
 
template<typename T >
visualization_msgs::msg::Marker common_lib::communication::line_marker_from_structure_array (const std::vector< T > &structure_array, const std::string &name_space, const std::string &frame_id, const int id, const std::string &color="red", const std::string &shape="line", float scale=0.1f, int action=visualization_msgs::msg::Marker::MODIFY)
 Converts a vector of cones to a marker array.
 
visualization_msgs::msg::Marker common_lib::communication::marker_from_position (const common_lib::structures::Position &position, const std::string &name_space, const int id, const std::string &color="red", float scale=0.5, const std::string &frame_id="map", const std::string &shape="sphere", int action=visualization_msgs::msg::Marker::ADD)
 Converts a position to a marker.
 
visualization_msgs::msg::Marker common_lib::communication::lines_marker_from_triangulations (const std::vector< std::pair< Point, Point > > &triangulations, const std::string &name_space, const std::string &frame_id, int id, const std::string &color, float scale, int action)
 Converts a vector of triangulation edges to a marker.
 
visualization_msgs::msg::MarkerArray common_lib::communication::velocity_hover_markers (const std::vector< common_lib::structures::PathPoint > &path_array, const std::string &name_space, const std::string &frame_id, float scale=0.2f, int every_nth=1)
 Creates sphere markers at each path point with velocity in the marker namespace When you hover over these in Foxglove's 3D panel, it shows the velocity in the tooltip.
 

Typedef Documentation

◆ K

using K = CGAL::Exact_predicates_inexact_constructions_kernel

Definition at line 17 of file marker.hpp.

◆ Point

using Point = K::Point_2

Definition at line 18 of file marker.hpp.