mediator.h
Go to the documentation of this file.
1 #ifndef MEDIATOR_
2 #define MEDIATOR_
3 
4 #include <ros/ros.h>
5 #include <ros/package.h>
6 #include <yaml-cpp/yaml.h>
7 #include <fstream>
9 #include "impl/abstract_robot.h"
10 #include "impl/robot.h"
11 
12 class Mediator : public Abstract_mediator{
13  public:
14  Mediator(std::vector<std::vector<tf2::Transform>> objects, ros::Publisher* pub) : Abstract_mediator(objects, pub){};
15 
16  pcl::PointCloud< pcl::PointXYZ >::Ptr vector_to_cloud(std::vector<pcl::PointXYZ>& vector);
17  std::vector<pcl::PointXYZ> generate_Ground(const tf2::Vector3 origin, const float diameter, float resolution);
18  void approximation(Robot* robot);
19  void write_file(Robot* A, Robot* B);
20  void publish(Robot* r);
21 
22  void setup_rviz();
23  void calculate(std::vector<tf2::Transform>& ground_per_robot);
24 
25  void set_wings(std::vector<std::pair<std::vector<object_data>, int>>& wbp) override;
26  bool check_collision(const int& robot) override;
27  void mediate() override;
28  void build_wings(std::bitset<3>& wings, int& robot) override;
29  void connect_robots(Abstract_robot* robot) override;
30 
31 };
32 
33 #endif
Mediator::Mediator
Mediator(std::vector< std::vector< tf2::Transform >> objects, ros::Publisher *pub)
Definition: mediator.h:14
robot.h
Mediator::vector_to_cloud
pcl::PointCloud< pcl::PointXYZ >::Ptr vector_to_cloud(std::vector< pcl::PointXYZ > &vector)
Mediator::connect_robots
void connect_robots(Abstract_robot *robot) override
Definition: mediator.cpp:6
Abstract_mediator
Abstract mediator.
Definition: impl/abstract_mediator.h:33
Mediator::approximation
void approximation(Robot *robot)
Definition: mediator.cpp:222
Mediator::build_wings
void build_wings(std::bitset< 3 > &wings, int &robot) override
Definition: mediator.cpp:429
Mediator
Definition: mediator.h:12
Mediator::generate_Ground
std::vector< pcl::PointXYZ > generate_Ground(const tf2::Vector3 origin, const float diameter, float resolution)
abstract_mediator.h
abstract_robot.h
Mediator::mediate
void mediate() override
Definition: mediator.cpp:105
Robot
Definition: robot.h:19
Abstract_mediator::wings
std::vector< std::vector< Abstract_robot_element * > > wings()
Definition: impl/abstract_mediator.h:52
Mediator::write_file
void write_file(Robot *A, Robot *B)
Definition: mediator.cpp:303
Mediator::set_wings
void set_wings(std::vector< std::pair< std::vector< object_data >, int >> &wbp) override
Definition: mediator.cpp:42
Mediator::calculate
void calculate(std::vector< tf2::Transform > &ground_per_robot)
Definition: mediator.cpp:144
Mediator::setup_rviz
void setup_rviz()
Definition: mediator.cpp:8
Mediator::check_collision
bool check_collision(const int &robot) override
Definition: mediator.cpp:55
Abstract_robot
Definition: impl/abstract_robot.h:25
Mediator::publish
void publish(Robot *r)
Definition: mediator.cpp:448


multi_cell_builder
Author(s): MA
autogenerated on Thu Jan 12 2023 23:45:43