Skip to content
Snippets Groups Projects

Resolve "Emplace API inconsistent with ProcessorTrackerFeature/Landmark functions"

Files
53
@@ -19,6 +19,9 @@ namespace wolf{
//class CaptureBase
class CaptureBase : public NodeBase, public std::enable_shared_from_this<CaptureBase>
{
friend FeatureBase;
friend FactorBase;
private:
FrameBaseWPtr frame_ptr_;
FeatureBasePtrList feature_list_;
@@ -57,14 +60,12 @@ class CaptureBase : public NodeBase, public std::enable_shared_from_this<Capture
void setTimeStampToNow();
FrameBasePtr getFrame() const;
private:
void setFrame(const FrameBasePtr _frm_ptr);
void unlinkFromFrame(){frame_ptr_.reset();}
public:
virtual void setProblem(ProblemPtr _problem) final;
FeatureBasePtr addFeature(FeatureBasePtr _ft_ptr);
FeatureBasePtrList& getFeatureList();
void addFeatureList(FeatureBasePtrList& _new_ft_list);
void getFactorList(FactorBasePtrList& _fac_list);
@@ -72,9 +73,12 @@ class CaptureBase : public NodeBase, public std::enable_shared_from_this<Capture
virtual void setSensor(const SensorBasePtr sensor_ptr);
// constrained by
private:
virtual FactorBasePtr addConstrainedBy(FactorBasePtr _fac_ptr);
virtual void removeConstrainedBy(FactorBasePtr _fac_ptr);
public:
unsigned int getHits() const;
FactorBasePtrList& getConstrainedByList();
const FactorBasePtrList& getConstrainedByList() const;
// State blocks
const std::vector<StateBlockPtr>& getStateBlockVec() const;
@@ -106,6 +110,10 @@ class CaptureBase : public NodeBase, public std::enable_shared_from_this<Capture
protected:
SizeEigen computeCalibSize() const;
private:
FeatureBasePtr addFeature(FeatureBasePtr _ft_ptr);
void removeFeature(FeatureBasePtr _ft_ptr);
private:
void updateCalibSize();
};
@@ -132,13 +140,6 @@ inline SizeEigen CaptureBase::getCalibSize() const
return calib_size_;
}
inline void CaptureBase::setProblem(ProblemPtr _problem)
{
NodeBase::setProblem(_problem);
for (auto ft : feature_list_)
ft->setProblem(_problem);
}
inline void CaptureBase::updateCalibSize()
{
calib_size_ = computeCalibSize();
@@ -199,7 +200,7 @@ inline unsigned int CaptureBase::getHits() const
return constrained_by_list_.size();
}
inline FactorBasePtrList& CaptureBase::getConstrainedByList()
inline const FactorBasePtrList& CaptureBase::getConstrainedByList() const
{
return constrained_by_list_;
}
Loading