bool MapGrid2D::getMapImage(yarp::sig::ImageOf<PixelRgb>& image) const { image.setQuantum(1); image.resize(m_width, m_height); image.zero(); for (size_t y = 0; y < m_height; y++) { for (size_t x = 0; x < m_width; x++) { image.safePixel(x, y) = CellDataToPixel(m_map_flags.safePixel(x, y)); } } return true; }
bool MapGrid2D::setMapImage(yarp::sig::ImageOf<PixelRgb>& image) { if (image.width() != (int)(m_width) || image.height() != (int)(m_height)) { yError() << "The size of given iamge does not correspond to the current map. Use method setSize() first."; return false; } for (size_t y = 0; y < m_height; y++) { for (size_t x = 0; x < m_width; x++) { m_map_flags.safePixel(x, y) = PixelToCellData(image.safePixel(x, y)); } } return true; }