diff --git a/source/armarx/navigation/algorithms/astar/util.cpp b/source/armarx/navigation/algorithms/astar/util.cpp index abc91b031633988a1d5271af700abe0d153c6d58..e475d3f93f0ee3e3748510544baf4bb62d6d1c73 100644 --- a/source/armarx/navigation/algorithms/astar/util.cpp +++ b/source/armarx/navigation/algorithms/astar/util.cpp @@ -2,30 +2,32 @@ #include <cstddef> -#include <Eigen/src/Core/util/Meta.h> - #include <opencv2/core.hpp> #include <opencv2/core/mat.hpp> #include <opencv2/opencv.hpp> -#include "ArmarXCore/core/logging/Logging.h" +#include <ArmarXCore/core/exceptions/local/ExpressionException.h> +#include <ArmarXCore/core/logging/Logging.h> namespace armarx::navigation { void dumpToFile(const Eigen::MatrixXf& grid) { - ARMARX_INFO << "Dumping to file."; - ARMARX_INFO << "Shape: " << grid.rows() << ", " << grid.cols(); - cv::Size size(grid.rows(), grid.cols()); + + // pedantic checks to prevent underflow below + ARMARX_CHECK_GREATER(grid.rows(), 0); + ARMARX_CHECK_GREATER(grid.cols(), 0); + + const cv::Size size(static_cast<int>(grid.rows()), static_cast<int>(grid.cols())); cv::Mat1f mat(size); - for (size_t r = 0; r < grid.rows(); r++) + for (int r = 0; r < grid.rows(); r++) { - for (size_t c = 0; c < grid.cols(); c++) + for (int c = 0; c < grid.cols(); c++) { mat(cv::Point(r, c)) = grid(r, c); }