1 #include <xmlrpcpp/XmlRpc.h>
25 int main(
int argc,
char **argv){
26 ros::init(argc, argv,
"robot_base_calculation_apprioach");
27 std::shared_ptr<ros::NodeHandle> n(
new ros::NodeHandle);
29 std::shared_ptr<AbstractBase> simple_base = std::make_shared<SimpleBase>(n);
30 std::shared_ptr<AbstractBaseImplementation> simple_base_implementation = std::make_shared<SimpleBaseImplementation>();
31 std::shared_ptr<BaseCalculationMediator> mediator = std::make_shared<BaseCalculationMediator>(n);
33 simple_base->setImplementation(simple_base_implementation);
35 simple_base->baseCalculation();
37 auto rd = mediator->robotReader()->robotData();
38 for (
int i = 0; i < rd.size() ;i++){
39 std::unique_ptr<AbstractRobot> ceti = std::make_unique<CetiRobot>(rd[i].name_, rd[i].pose_, rd[i].size_);
40 std::unique_ptr<PandaDecorator> ceti_panda = std::make_unique<PandaDecorator>(std::move(ceti));
41 mediator->connectRobots(std::move(ceti_panda));
44 mediator->setResultVector(simple_base->result());