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 {
35 public:
36  TransformComputable(RobotMemory * robot_memory,
38  fawkes::Logger * logger,
39  fawkes::Configuration * config);
40  virtual ~TransformComputable();
41 
42 private:
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_ */
TransformComputable
Computable proving positions in other frames by using transforms.
Definition: transform_computable.h:34
RobotMemory
Access to the robot memory based on mongodb.
Definition: robot_memory.h:47
fawkes::tf::Transformer
Coordinate transforms between any two frames in a system.
Definition: transformer.h:65
fawkes::Configuration
Interface for configuration handling.
Definition: config.h:65
fawkes::Logger
Interface for logging.
Definition: logger.h:42
TransformComputable::TransformComputable
TransformComputable(RobotMemory *robot_memory, fawkes::tf::Transformer *tf, fawkes::Logger *logger, fawkes::Configuration *config)
Constructor for Transform computable with objects of thread aspects.
Definition: transform_computable.cpp:40