InterestPoint::InterestPoint(const InterestPoint& _point): m_position(_point.getPosition()), m_scale(_point.getScale()), m_scaleLevel(_point.getScaleLevel()) { if(_point.getDescriptor()) m_descriptor = _point.getDescriptor()->clone(); else m_descriptor = 0; }
InterestPointRos toRos (const InterestPoint& pt) { InterestPointRos m; m.pose.x = pt.getPosition().x; m.pose.y = pt.getPosition().y; m.pose.theta = pt.getPosition().theta; m.support_points.reserve(pt.getSupport().size()); BOOST_FOREACH (const Point2D& p, pt.getSupport()) m.support_points.push_back(toPoint(p)); m.scale = pt.getScale(); m.scale_level = pt.getScaleLevel(); m.descriptor = toRos(pt.getDescriptor()); return m; }