Skip to content
Snippets Groups Projects
Commit 89ef367a authored by Joan Solà Ortega's avatar Joan Solà Ortega
Browse files

shared_ptr in Hardware, Trajectory and Map

parent 7cdc5bff
No related branches found
No related tags found
No related merge requests found
...@@ -103,7 +103,7 @@ class LandmarkBase : public NodeBase, public std::enable_shared_from_this<Landma ...@@ -103,7 +103,7 @@ class LandmarkBase : public NodeBase, public std::enable_shared_from_this<Landma
void setMapPtr(MapBasePtr _map_ptr){map_ptr_ = _map_ptr;} void setMapPtr(MapBasePtr _map_ptr){map_ptr_ = _map_ptr.get();} // TODO remove .get()
ProblemPtr getProblem(); ProblemPtr getProblem();
void setProblem(ProblemPtr _prob_ptr){problem_ptr_ = _prob_ptr;} void setProblem(ProblemPtr _prob_ptr){problem_ptr_ = _prob_ptr;}
......
...@@ -41,7 +41,8 @@ LandmarkBasePtr MapBase::addLandmark(LandmarkBasePtr _landmark_ptr) ...@@ -41,7 +41,8 @@ LandmarkBasePtr MapBase::addLandmark(LandmarkBasePtr _landmark_ptr)
{ {
//std::cout << "MapBase::addLandmark" << std::endl; //std::cout << "MapBase::addLandmark" << std::endl;
landmark_list_.push_back(_landmark_ptr); landmark_list_.push_back(_landmark_ptr);
_landmark_ptr->setMapPtr(this); // _landmark_ptr->setMapPtr(this); // TODO remove line
_landmark_ptr->setMapPtr(shared_from_this());
_landmark_ptr->setProblem(getProblem()); _landmark_ptr->setProblem(getProblem());
_landmark_ptr->registerNewStateBlocks(); _landmark_ptr->registerNewStateBlocks();
return _landmark_ptr; return _landmark_ptr;
...@@ -53,7 +54,8 @@ void MapBase::addLandmarkList(LandmarkBaseList _landmark_list) ...@@ -53,7 +54,8 @@ void MapBase::addLandmarkList(LandmarkBaseList _landmark_list)
LandmarkBaseList lmk_list_copy = _landmark_list; //since _landmark_list will be empty after addDownNodeList() LandmarkBaseList lmk_list_copy = _landmark_list; //since _landmark_list will be empty after addDownNodeList()
for (LandmarkBasePtr landmark_ptr : lmk_list_copy) for (LandmarkBasePtr landmark_ptr : lmk_list_copy)
{ {
landmark_ptr->setMapPtr(this); // landmark_ptr->setMapPtr(this); // TODO remove line
landmark_ptr->setMapPtr(shared_from_this());
landmark_ptr->setProblem(getProblem()); landmark_ptr->setProblem(getProblem());
landmark_ptr->registerNewStateBlocks(); landmark_ptr->registerNewStateBlocks();
} }
......
...@@ -17,7 +17,7 @@ class LandmarkBase; ...@@ -17,7 +17,7 @@ class LandmarkBase;
namespace wolf { namespace wolf {
//class MapBase //class MapBase
class MapBase : public NodeBase class MapBase : public NodeBase, public std::enable_shared_from_this<MapBase>
{ {
private: private:
ProblemWPtr problem_ptr_; ProblemWPtr problem_ptr_;
......
...@@ -31,8 +31,8 @@ void TrajectoryBase::destruct() ...@@ -31,8 +31,8 @@ void TrajectoryBase::destruct()
FrameBasePtr TrajectoryBase::addFrame(FrameBasePtr _frame_ptr) FrameBasePtr TrajectoryBase::addFrame(FrameBasePtr _frame_ptr)
{ {
// link up // link up
_frame_ptr->setTrajectoryPtr(this); // _frame_ptr->setTrajectoryPtr(this); // TODO remove line
// _frame_ptr->setTrajectoryPtr(shared_from_this()); _frame_ptr->setTrajectoryPtr(shared_from_this());
_frame_ptr->setProblem(getProblem()); _frame_ptr->setProblem(getProblem());
if (_frame_ptr->isKey()) if (_frame_ptr->isKey())
......
...@@ -299,8 +299,8 @@ typedef Problem* ProblemPtr; ...@@ -299,8 +299,8 @@ typedef Problem* ProblemPtr;
typedef Problem* ProblemWPtr; typedef Problem* ProblemWPtr;
// Hardware // Hardware
//typedef std::shared_ptr<HardwareBase> HardwareBasePtr; typedef std::shared_ptr<HardwareBase> HardwareBasePtr;
typedef HardwareBase* HardwareBasePtr; //typedef HardwareBase* HardwareBasePtr; // TODO remove line
typedef HardwareBase* HardwareBaseWPtr; typedef HardwareBase* HardwareBaseWPtr;
// - Sensors // - Sensors
...@@ -322,8 +322,8 @@ typedef ProcessorBaseList::iterator ProcessorBaseIter; ...@@ -322,8 +322,8 @@ typedef ProcessorBaseList::iterator ProcessorBaseIter;
typedef ProcessorParamsBase* ProcessorParamsBasePtr; typedef ProcessorParamsBase* ProcessorParamsBasePtr;
// - Trajectory // - Trajectory
//typedef std::shared_ptr<TrajectoryBase> TrajectoryBasePtr; typedef std::shared_ptr<TrajectoryBase> TrajectoryBasePtr;
typedef TrajectoryBase* TrajectoryBasePtr; //typedef TrajectoryBase* TrajectoryBasePtr; // TODO remove line
typedef TrajectoryBase* TrajectoryBaseWPtr; typedef TrajectoryBase* TrajectoryBaseWPtr;
// - Frame // - Frame
...@@ -355,7 +355,8 @@ typedef std::list<ConstraintBasePtr> ConstraintBaseList; ...@@ -355,7 +355,8 @@ typedef std::list<ConstraintBasePtr> ConstraintBaseList;
typedef ConstraintBaseList::iterator ConstraintBaseIter; typedef ConstraintBaseList::iterator ConstraintBaseIter;
//Map //Map
typedef MapBase* MapBasePtr; typedef std::shared_ptr<MapBase> MapBasePtr;
//typedef MapBase* MapBasePtr; // TODO remove line
typedef MapBase* MapBaseWPtr; typedef MapBase* MapBaseWPtr;
typedef std::list<MapBasePtr> MapBaseList; typedef std::list<MapBasePtr> MapBaseList;
typedef MapBaseList::iterator MapBaseIter; typedef MapBaseList::iterator MapBaseIter;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment