diff --git a/CMakeLists.txt b/CMakeLists.txt index 75b2269f91251bf68673b37ba86962ee03878e1a..0910fe579821a1fc1ab7e2df324c754212584123 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -356,6 +356,7 @@ SET(SRCS_LANDMARK src/landmark/landmark_base.cpp ) SET(SRCS_PROCESSOR + src/processor/is_motion.cpp src/processor/motion_buffer.cpp src/processor/processor_base.cpp src/processor/processor_diff_drive.cpp diff --git a/include/core/problem/problem.h b/include/core/problem/problem.h index 42dc859ad9753c44b184c3a8b1e77548fcc135c0..36e5e338bde88d49062931e383929baa005bc9df 100644 --- a/include/core/problem/problem.h +++ b/include/core/problem/problem.h @@ -50,6 +50,7 @@ class Problem : public std::enable_shared_from_this<Problem> friend SolverManager; // Enable SolverManager to acces protected functions (consumeXXXNotificationMap()) friend ProcessorBase; friend ProcessorMotion; + friend IsMotion; protected: TreeManagerBasePtr tree_manager_; diff --git a/include/core/processor/is_motion.h b/include/core/processor/is_motion.h index 8c99fe72e37698a2210e35a3af0c14bf9168f65e..3ba3f97ad15249f425e357b7901a1494a5e56073 100644 --- a/include/core/processor/is_motion.h +++ b/include/core/processor/is_motion.h @@ -45,7 +45,8 @@ class IsMotion std::string getStateStructure(){return state_structure_;}; void setStateStructure(std::string _state_structure){state_structure_ = _state_structure;}; - + void addToProblem(ProblemPtr _prb_ptr, IsMotionPtr _motion_ptr); + protected: std::string state_structure_; ///< The structure of the state vector (to retrieve state blocks from frames) @@ -83,8 +84,6 @@ inline Eigen::VectorXd IsMotion::getState(const TimeStamp& _ts) const return x; } - - } /* namespace wolf */ #endif /* PROCESSOR_IS_MOTION_H_ */ diff --git a/src/processor/is_motion.cpp b/src/processor/is_motion.cpp new file mode 100644 index 0000000000000000000000000000000000000000..1bfd06a5e9669f76ef48c49a559cade0dc7845f0 --- /dev/null +++ b/src/processor/is_motion.cpp @@ -0,0 +1,9 @@ +#include "core/processor/is_motion.h" +#include "core/problem/problem.h" + +using namespace wolf; + +void IsMotion::addToProblem(ProblemPtr _prb_ptr, IsMotionPtr _motion_ptr) +{ + _prb_ptr->addProcessorIsMotion(_motion_ptr); +}