Skip to content
Snippets Groups Projects
Commit e54ef272 authored by Joan Vallvé Navarro's avatar Joan Vallvé Navarro
Browse files

getLists return via copy (thread safer)

parent cdeb7327
No related branches found
No related tags found
1 merge request!443Resolve "Work on const / non-const in wolf base classes"
Pipeline #9566 failed
...@@ -88,8 +88,8 @@ class CaptureBase : public NodeBase, public HasStateBlocks, public std::enable_s ...@@ -88,8 +88,8 @@ class CaptureBase : public NodeBase, public HasStateBlocks, public std::enable_s
void setFrame(const FrameBasePtr _frm_ptr); void setFrame(const FrameBasePtr _frm_ptr);
public: public:
const FeatureBaseConstPtrList& getFeatureList() const; FeatureBaseConstPtrList getFeatureList() const;
const FeatureBasePtrList& getFeatureList(); FeatureBasePtrList getFeatureList();
FactorBaseConstPtrList getFactorList() const; FactorBaseConstPtrList getFactorList() const;
FactorBasePtrList getFactorList(); FactorBasePtrList getFactorList();
...@@ -107,8 +107,8 @@ class CaptureBase : public NodeBase, public HasStateBlocks, public std::enable_s ...@@ -107,8 +107,8 @@ class CaptureBase : public NodeBase, public HasStateBlocks, public std::enable_s
public: public:
unsigned int getHits() const; unsigned int getHits() const;
const FactorBaseConstPtrList& getConstrainedByList() const; FactorBaseConstPtrList getConstrainedByList() const;
const FactorBasePtrList& getConstrainedByList(); FactorBasePtrList getConstrainedByList();
bool isConstrainedBy(const FactorBaseConstPtr &_factor) const; bool isConstrainedBy(const FactorBaseConstPtr &_factor) const;
// State blocks // State blocks
...@@ -222,12 +222,12 @@ inline void CaptureBase::setFrame(const FrameBasePtr _frm_ptr) ...@@ -222,12 +222,12 @@ inline void CaptureBase::setFrame(const FrameBasePtr _frm_ptr)
frame_ptr_ = _frm_ptr; frame_ptr_ = _frm_ptr;
} }
inline const FeatureBaseConstPtrList& CaptureBase::getFeatureList() const inline FeatureBaseConstPtrList CaptureBase::getFeatureList() const
{ {
return feature_const_list_; return feature_const_list_;
} }
inline const FeatureBasePtrList& CaptureBase::getFeatureList() inline FeatureBasePtrList CaptureBase::getFeatureList()
{ {
return feature_list_; return feature_list_;
} }
...@@ -237,12 +237,12 @@ inline unsigned int CaptureBase::getHits() const ...@@ -237,12 +237,12 @@ inline unsigned int CaptureBase::getHits() const
return constrained_by_list_.size(); return constrained_by_list_.size();
} }
inline const FactorBaseConstPtrList& CaptureBase::getConstrainedByList() const inline FactorBaseConstPtrList CaptureBase::getConstrainedByList() const
{ {
return constrained_by_const_list_; return constrained_by_const_list_;
} }
inline const FactorBasePtrList& CaptureBase::getConstrainedByList() inline FactorBasePtrList CaptureBase::getConstrainedByList()
{ {
return constrained_by_list_; return constrained_by_list_;
} }
......
...@@ -124,14 +124,14 @@ class FeatureBase : public NodeBase, public std::enable_shared_from_this<Feature ...@@ -124,14 +124,14 @@ class FeatureBase : public NodeBase, public std::enable_shared_from_this<Feature
CaptureBaseConstPtr getCapture() const; CaptureBaseConstPtr getCapture() const;
CaptureBasePtr getCapture(); CaptureBasePtr getCapture();
const FactorBaseConstPtrList& getFactorList() const; FactorBaseConstPtrList getFactorList() const;
const FactorBasePtrList& getFactorList(); FactorBasePtrList getFactorList();
void getFactorList(FactorBaseConstPtrList & _fac_list) const; void getFactorList(FactorBaseConstPtrList & _fac_list) const;
void getFactorList(FactorBasePtrList & _fac_list); void getFactorList(FactorBasePtrList & _fac_list);
unsigned int getHits() const; unsigned int getHits() const;
const FactorBaseConstPtrList& getConstrainedByList() const; FactorBaseConstPtrList getConstrainedByList() const;
const FactorBasePtrList& getConstrainedByList(); FactorBasePtrList getConstrainedByList();
bool isConstrainedBy(const FactorBaseConstPtr &_factor) const; bool isConstrainedBy(const FactorBaseConstPtr &_factor) const;
void link(CaptureBasePtr cap_ptr); void link(CaptureBasePtr cap_ptr);
...@@ -183,12 +183,22 @@ inline unsigned int FeatureBase::getHits() const ...@@ -183,12 +183,22 @@ inline unsigned int FeatureBase::getHits() const
return constrained_by_list_.size(); return constrained_by_list_.size();
} }
inline const FactorBaseConstPtrList& FeatureBase::getConstrainedByList() const inline FactorBaseConstPtrList FeatureBase::getFactorList() const
{
return factor_const_list_;
}
inline FactorBasePtrList FeatureBase::getFactorList()
{
return factor_list_;
}
inline FactorBaseConstPtrList FeatureBase::getConstrainedByList() const
{ {
return constrained_by_const_list_; return constrained_by_const_list_;
} }
inline const FactorBasePtrList& FeatureBase::getConstrainedByList() inline FactorBasePtrList FeatureBase::getConstrainedByList()
{ {
return constrained_by_list_; return constrained_by_list_;
} }
......
...@@ -127,16 +127,16 @@ class FrameBase : public NodeBase, public HasStateBlocks, public std::enable_sha ...@@ -127,16 +127,16 @@ class FrameBase : public NodeBase, public HasStateBlocks, public std::enable_sha
FrameBasePtr getPreviousFrame(); FrameBasePtr getPreviousFrame();
FrameBasePtr getNextFrame(); FrameBasePtr getNextFrame();
const CaptureBaseConstPtrList& getCaptureList() const; CaptureBaseConstPtrList getCaptureList() const;
const CaptureBasePtrList& getCaptureList(); CaptureBasePtrList getCaptureList();
FactorBaseConstPtrList getFactorList() const; FactorBaseConstPtrList getFactorList() const;
FactorBasePtrList getFactorList(); FactorBasePtrList getFactorList();
void getFactorList(FactorBaseConstPtrList& _fac_list) const; void getFactorList(FactorBaseConstPtrList& _fac_list) const;
void getFactorList(FactorBasePtrList& _fac_list); void getFactorList(FactorBasePtrList& _fac_list);
const FactorBaseConstPtrList& getConstrainedByList() const; FactorBaseConstPtrList getConstrainedByList() const;
const FactorBasePtrList& getConstrainedByList(); FactorBasePtrList getConstrainedByList();
bool isConstrainedBy(const FactorBaseConstPtr& _factor) const; bool isConstrainedBy(const FactorBaseConstPtr& _factor) const;
template <class C> template <class C>
...@@ -254,12 +254,12 @@ inline TrajectoryBasePtr FrameBase::getTrajectory() ...@@ -254,12 +254,12 @@ inline TrajectoryBasePtr FrameBase::getTrajectory()
return trajectory_ptr_.lock(); return trajectory_ptr_.lock();
} }
inline const CaptureBaseConstPtrList& FrameBase::getCaptureList() const inline CaptureBaseConstPtrList FrameBase::getCaptureList() const
{ {
return capture_const_list_; return capture_const_list_;
} }
inline const CaptureBasePtrList& FrameBase::getCaptureList() inline CaptureBasePtrList FrameBase::getCaptureList()
{ {
return capture_list_; return capture_list_;
} }
...@@ -269,12 +269,12 @@ inline unsigned int FrameBase::getHits() const ...@@ -269,12 +269,12 @@ inline unsigned int FrameBase::getHits() const
return constrained_by_list_.size(); return constrained_by_list_.size();
} }
inline const FactorBaseConstPtrList& FrameBase::getConstrainedByList() const inline FactorBaseConstPtrList FrameBase::getConstrainedByList() const
{ {
return constrained_by_const_list_; return constrained_by_const_list_;
} }
inline const FactorBasePtrList& FrameBase::getConstrainedByList() inline FactorBasePtrList FrameBase::getConstrainedByList()
{ {
return constrained_by_list_; return constrained_by_list_;
} }
......
...@@ -47,8 +47,8 @@ class HardwareBase : public NodeBase, public std::enable_shared_from_this<Hardwa ...@@ -47,8 +47,8 @@ class HardwareBase : public NodeBase, public std::enable_shared_from_this<Hardwa
HardwareBase(); HardwareBase();
~HardwareBase() override; ~HardwareBase() override;
const SensorBaseConstPtrList& getSensorList() const; SensorBaseConstPtrList getSensorList() const;
const SensorBasePtrList& getSensorList(); SensorBasePtrList getSensorList();
virtual void printHeader(int depth, // virtual void printHeader(int depth, //
bool constr_by, // bool constr_by, //
...@@ -76,12 +76,12 @@ class HardwareBase : public NodeBase, public std::enable_shared_from_this<Hardwa ...@@ -76,12 +76,12 @@ class HardwareBase : public NodeBase, public std::enable_shared_from_this<Hardwa
namespace wolf { namespace wolf {
inline const SensorBaseConstPtrList& HardwareBase::getSensorList() const inline SensorBaseConstPtrList HardwareBase::getSensorList() const
{ {
return sensor_const_list_; return sensor_const_list_;
} }
inline const SensorBasePtrList& HardwareBase::getSensorList() inline SensorBasePtrList HardwareBase::getSensorList()
{ {
return sensor_list_; return sensor_list_;
} }
......
...@@ -93,8 +93,8 @@ class LandmarkBase : public NodeBase, public HasStateBlocks, public std::enable_ ...@@ -93,8 +93,8 @@ class LandmarkBase : public NodeBase, public HasStateBlocks, public std::enable_
void setDescriptor(const Eigen::VectorXd& _descriptor); void setDescriptor(const Eigen::VectorXd& _descriptor);
unsigned int getHits() const; unsigned int getHits() const;
const FactorBaseConstPtrList& getConstrainedByList() const; FactorBaseConstPtrList getConstrainedByList() const;
const FactorBasePtrList& getConstrainedByList(); FactorBasePtrList getConstrainedByList();
bool isConstrainedBy(const FactorBaseConstPtr &_factor) const; bool isConstrainedBy(const FactorBaseConstPtr &_factor) const;
MapBaseConstPtr getMap() const; MapBaseConstPtr getMap() const;
...@@ -182,12 +182,12 @@ inline unsigned int LandmarkBase::getHits() const ...@@ -182,12 +182,12 @@ inline unsigned int LandmarkBase::getHits() const
return constrained_by_list_.size(); return constrained_by_list_.size();
} }
inline const FactorBaseConstPtrList& LandmarkBase::getConstrainedByList() const inline FactorBaseConstPtrList LandmarkBase::getConstrainedByList() const
{ {
return constrained_by_const_list_; return constrained_by_const_list_;
} }
inline const FactorBasePtrList& LandmarkBase::getConstrainedByList() inline FactorBasePtrList LandmarkBase::getConstrainedByList()
{ {
return constrained_by_list_; return constrained_by_list_;
} }
......
...@@ -112,8 +112,8 @@ class MapBase : public NodeBase, public std::enable_shared_from_this<MapBase> ...@@ -112,8 +112,8 @@ class MapBase : public NodeBase, public std::enable_shared_from_this<MapBase>
virtual void removeLandmark(LandmarkBasePtr _landmark_ptr); virtual void removeLandmark(LandmarkBasePtr _landmark_ptr);
public: public:
const LandmarkBaseConstPtrList& getLandmarkList() const; LandmarkBaseConstPtrList getLandmarkList() const;
const LandmarkBasePtrList& getLandmarkList(); LandmarkBasePtrList getLandmarkList();
void load(const std::string& _map_file_yaml); void load(const std::string& _map_file_yaml);
void save(const std::string& _map_file_yaml, const std::string& _map_name = "Map automatically saved by Wolf"); void save(const std::string& _map_file_yaml, const std::string& _map_name = "Map automatically saved by Wolf");
...@@ -138,12 +138,12 @@ class MapBase : public NodeBase, public std::enable_shared_from_this<MapBase> ...@@ -138,12 +138,12 @@ class MapBase : public NodeBase, public std::enable_shared_from_this<MapBase>
std::string dateTimeNow(); std::string dateTimeNow();
}; };
inline const LandmarkBaseConstPtrList& MapBase::getLandmarkList() const inline LandmarkBaseConstPtrList MapBase::getLandmarkList() const
{ {
return landmark_const_list_; return landmark_const_list_;
} }
inline const LandmarkBasePtrList& MapBase::getLandmarkList() inline LandmarkBasePtrList MapBase::getLandmarkList()
{ {
return landmark_list_; return landmark_list_;
} }
......
...@@ -184,8 +184,8 @@ class SensorBase : public NodeBase, public HasStateBlocks, public std::enable_sh ...@@ -184,8 +184,8 @@ class SensorBase : public NodeBase, public HasStateBlocks, public std::enable_sh
void removeProcessor(ProcessorBasePtr _proc_ptr); void removeProcessor(ProcessorBasePtr _proc_ptr);
public: public:
const ProcessorBaseConstPtrList& getProcessorList() const; ProcessorBaseConstPtrList getProcessorList() const;
const ProcessorBasePtrList& getProcessorList(); ProcessorBasePtrList getProcessorList();
CaptureBaseConstPtr getLastCapture() const; CaptureBaseConstPtr getLastCapture() const;
CaptureBasePtr getLastCapture(); CaptureBasePtr getLastCapture();
...@@ -315,12 +315,12 @@ inline unsigned int SensorBase::id() const ...@@ -315,12 +315,12 @@ inline unsigned int SensorBase::id() const
return sensor_id_; return sensor_id_;
} }
inline const ProcessorBaseConstPtrList& SensorBase::getProcessorList() const inline ProcessorBaseConstPtrList SensorBase::getProcessorList() const
{ {
return processor_const_list_; return processor_const_list_;
} }
inline const ProcessorBasePtrList& SensorBase::getProcessorList() inline ProcessorBasePtrList SensorBase::getProcessorList()
{ {
return processor_list_; return processor_list_;
} }
......
...@@ -53,8 +53,8 @@ class TrajectoryBase : public NodeBase, public std::enable_shared_from_this<Traj ...@@ -53,8 +53,8 @@ class TrajectoryBase : public NodeBase, public std::enable_shared_from_this<Traj
~TrajectoryBase() override; ~TrajectoryBase() override;
// Frames // Frames
const FrameConstPtrMap& getFrameMap() const; FrameConstPtrMap getFrameMap() const;
const FramePtrMap& getFrameMap(); FramePtrMap getFrameMap();
FrameBaseConstPtr getLastFrame() const; FrameBaseConstPtr getLastFrame() const;
FrameBasePtr getLastFrame(); FrameBasePtr getLastFrame();
FrameBaseConstPtr getFirstFrame() const; FrameBaseConstPtr getFirstFrame() const;
...@@ -88,12 +88,12 @@ class TrajectoryBase : public NodeBase, public std::enable_shared_from_this<Traj ...@@ -88,12 +88,12 @@ class TrajectoryBase : public NodeBase, public std::enable_shared_from_this<Traj
void getFactorList(FactorBasePtrList & _fac_list); void getFactorList(FactorBasePtrList & _fac_list);
}; };
inline const FrameConstPtrMap& TrajectoryBase::getFrameMap() const inline FrameConstPtrMap TrajectoryBase::getFrameMap() const
{ {
return frame_const_map_; return frame_const_map_;
} }
inline const FramePtrMap& TrajectoryBase::getFrameMap() inline FramePtrMap TrajectoryBase::getFrameMap()
{ {
return frame_map_; return frame_map_;
} }
......
...@@ -134,16 +134,6 @@ bool FeatureBase::isConstrainedBy(const FactorBaseConstPtr &_factor) const ...@@ -134,16 +134,6 @@ bool FeatureBase::isConstrainedBy(const FactorBaseConstPtr &_factor) const
_factor) != constrained_by_const_list_.end(); _factor) != constrained_by_const_list_.end();
} }
const FactorBaseConstPtrList& FeatureBase::getFactorList() const
{
return factor_const_list_;
}
const FactorBasePtrList& FeatureBase::getFactorList()
{
return factor_list_;
}
void FeatureBase::getFactorList(FactorBaseConstPtrList & _fac_list) const void FeatureBase::getFactorList(FactorBaseConstPtrList & _fac_list) const
{ {
_fac_list.insert(_fac_list.end(), factor_const_list_.begin(), factor_const_list_.end()); _fac_list.insert(_fac_list.end(), factor_const_list_.begin(), factor_const_list_.end());
......
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