Fawkes API Fawkes Development Version
transform_computable.h
1/***************************************************************************
2 * transform_computable.h - Computable for doing transforms
3 *
4 * Created: 4:11:27 PM 2016
5 * Copyright 2016 Frederik Zwilling
6 ****************************************************************************/
7
8/* This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Library General Public License for more details.
17 *
18 * Read the full text in the LICENSE.GPL file in the doc directory.
19 */
20
21#ifndef FAWKES_SRC_PLUGINS_ROBOT_MEMORY_COMPUTABLES_TRANSFORM_COMPUTABLE_H_
22#define FAWKES_SRC_PLUGINS_ROBOT_MEMORY_COMPUTABLES_TRANSFORM_COMPUTABLE_H_
23
24#include "../robot_memory.h"
25
26#include <aspect/logging.h>
27#include <aspect/tf.h>
28#include <config/config.h>
29
30#include <bsoncxx/document/value.hpp>
31#include <bsoncxx/document/view.hpp>
32
34{
35public:
36 TransformComputable(RobotMemory * robot_memory,
38 fawkes::Logger * logger,
39 fawkes::Configuration * config);
40 virtual ~TransformComputable();
41
42private:
43 std::list<bsoncxx::document::value> compute_transform(const bsoncxx::document::view &query,
44 const std::string & collection);
45
46 RobotMemory * robot_memory_;
47 fawkes::Logger * logger_;
49 std::vector<Computable *> computables;
50 fawkes::Configuration * config_;
51};
52
53#endif /* FAWKES_SRC_PLUGINS_ROBOT_MEMORY_COMPUTABLES_TRANSFORM_COMPUTABLE_H_ */
Access to the robot memory based on mongodb.
Definition: robot_memory.h:47
Computable proving positions in other frames by using transforms.
TransformComputable(RobotMemory *robot_memory, fawkes::tf::Transformer *tf, fawkes::Logger *logger, fawkes::Configuration *config)
Constructor for Transform computable with objects of thread aspects.
Interface for configuration handling.
Definition: config.h:68
Interface for logging.
Definition: logger.h:42
Coordinate transforms between any two frames in a system.
Definition: transformer.h:65