Skip to content

Commit

Permalink
Revert ABI breaking changes
Browse files Browse the repository at this point in the history
  • Loading branch information
kjalloul-anybotics committed Dec 3, 2024
1 parent 4f2e4f9 commit 9092aae
Show file tree
Hide file tree
Showing 8 changed files with 40 additions and 38 deletions.
4 changes: 3 additions & 1 deletion grid_map_core/include/grid_map_core/BufferRegion.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,9 @@ class BufferRegion
constexpr static unsigned int nQuadrants = 4;

BufferRegion();
BufferRegion(Index startIndex, Size size, BufferRegion::Quadrant quadrant);
BufferRegion(
const Index & startIndex, const Size & size,
const BufferRegion::Quadrant & quadrant);
virtual ~BufferRegion() = default;

const Index & getStartIndex() const;
Expand Down
2 changes: 1 addition & 1 deletion grid_map_core/include/grid_map_core/CubicInterpolation.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ using FunctionValueMatrix = Eigen::Matrix4d;
* @param[in] nElem - number of elements in the container
* @return index that is within [0, nElem-1].
*/
unsigned int bindIndexToRange(unsigned int idReq, unsigned int nElem);
unsigned int bindIndexToRange(int idReq, unsigned int nElem);


/*!
Expand Down
20 changes: 10 additions & 10 deletions grid_map_core/include/grid_map_core/TypeDefs.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,16 @@
namespace grid_map
{

using Matrix = Eigen::MatrixXf;
using DataType = Matrix::Scalar;
using Position = Eigen::Vector2d;
using Vector = Eigen::Vector2d;
using Position3 = Eigen::Vector3d;
using Vector3 = Eigen::Vector3d;
using Index = Eigen::Array2i;
using Size = Eigen::Array2i;
using Length = Eigen::Array2d;
using Time = uint64_t;
typedef Eigen::MatrixXf Matrix;
typedef Matrix::Scalar DataType;
typedef Eigen::Vector2d Position;
typedef Eigen::Vector2d Vector;
typedef Eigen::Vector3d Position3;
typedef Eigen::Vector3d Vector3;
typedef Eigen::Array2i Index;
typedef Eigen::Array2i Size;
typedef Eigen::Array2d Length;
typedef uint64_t Time;

/*
* Interpolations are ordered in the order
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ class CircleIterator
* @param center the position of the circle center.
* @param radius the radius of the circle.
*/
CircleIterator(const GridMap & gridMap, const Position & center, double radius);
CircleIterator(const GridMap & gridMap, const Position & center, const double radius);

/*!
* Assignment operator.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class EllipseIterator
*/
EllipseIterator(
const GridMap & gridMap, const Position & center, const Length & length,
double rotation = 0.0);
const double rotation = 0.0);

/*!
* Assignment operator.
Expand Down Expand Up @@ -88,7 +88,7 @@ class EllipseIterator
* @param[out] bufferSize the buffer size of the submap.
*/
void findSubmapParameters(
const Position & center, const Length & length, double rotation,
const Position & center, const Length & length, const double rotation,
Index & startIndex, Size & bufferSize) const;

//! Position of the circle center;
Expand Down
10 changes: 5 additions & 5 deletions grid_map_core/src/BufferRegion.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ BufferRegion::BufferRegion()
}

BufferRegion::BufferRegion(
Index index, Size size,
BufferRegion::Quadrant quadrant)
: startIndex_(std::move(index)),
size_(std::move(size)),
quadrant_(std::move(quadrant))
const Index & index, const Size & size,
const BufferRegion::Quadrant & quadrant)
: startIndex_(index),
size_(size),
quadrant_(quadrant)
{
}

Expand Down
30 changes: 16 additions & 14 deletions grid_map_core/src/CubicInterpolation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,18 @@
namespace grid_map
{

unsigned int bindIndexToRange(unsigned int idReq, unsigned int nElem)
unsigned int bindIndexToRange(int idReq, unsigned int nElem)
{
if (idReq >= nElem) {
return nElem - 1;
if (idReq < 0) {
return 0;
}
return idReq;
if ((unsigned)idReq >= nElem) {
return static_cast<unsigned int>(nElem - 1);
}
return static_cast<unsigned int>(idReq);
}

double getLayerValue(const Matrix & layerMat, unsigned int rowReq, unsigned int colReq)
double getLayerValue(const Matrix & layerMat, int rowReq, int colReq)
{
const auto numCol = layerMat.cols();
const auto numRow = layerMat.rows();
Expand Down Expand Up @@ -93,7 +96,7 @@ bool assembleFunctionValueMatrix(
}

const Matrix & layerMatrix = gridMap.get(layer);
auto f = [&layerMatrix](unsigned int rowReq, unsigned int colReq) {
auto f = [&layerMatrix](int rowReq, int colReq) {
double retVal = getLayerValue(layerMatrix, rowReq, colReq);
return retVal;
};
Expand Down Expand Up @@ -298,8 +301,8 @@ bool getFunctionValues(const Matrix & layerData, const IndicesMatrix & indices,

void bindIndicesToRange(const GridMap & gridMap, IndicesMatrix * indices)
{
const unsigned int numCol = gridMap.getSize().y();
const unsigned int numRow = gridMap.getSize().x();
const int numCol = gridMap.getSize().y();
const int numRow = gridMap.getSize().x();

// top left
{
Expand Down Expand Up @@ -349,11 +352,10 @@ double firstOrderDerivativeAt(
const Matrix & layerData, const Index & index, Dim2D dim,
double resolution)
{
const auto numCol{static_cast<unsigned int>(layerData.cols())};
const auto numRow{static_cast<unsigned int>(layerData.rows())};
const int numCol = layerData.cols();
const int numRow = layerData.rows();

double left;
double right;
double left, right;
switch (dim) {
case Dim2D::X: {
left = layerData(bindIndexToRange(index.x() + 1, numRow), index.y());
Expand Down Expand Up @@ -386,8 +388,8 @@ double mixedSecondOrderDerivativeAt(
* the order doesn't matter. Derivative values are the same.
* Taken from https://www.mathematik.uni-dortmund.de/~kuzmin/cfdintro/lecture4.pdf
*/
const auto numCol{static_cast<unsigned int>(layerData.cols())};
const auto numRow{static_cast<unsigned int>(layerData.rows())};
const int numCol = layerData.cols();
const int numRow = layerData.rows();

const double f11 = layerData(
bindIndexToRange(index.x() - 1, numRow),
Expand Down
6 changes: 2 additions & 4 deletions grid_map_core/test/EigenPluginsTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,7 @@ TEST(EigenMatrixBaseAddons, minCoeffOfFinites)
double min = matrix.minCoeff();
EXPECT_NEAR(min, matrix.minCoeffOfFinites(), 1e-10);

int i;
int j;
int i, j;
matrix.maxCoeff(&i, &j);
matrix(i, j) = NAN;
EXPECT_NEAR(min, matrix.minCoeffOfFinites(), 1e-10);
Expand All @@ -94,8 +93,7 @@ TEST(EigenMatrixBaseAddons, maxCoeffOfFinites)
double max = matrix.maxCoeff();
EXPECT_NEAR(max, matrix.maxCoeffOfFinites(), 1e-10);

int i;
int j;
int i, j;
matrix.minCoeff(&i, &j);
matrix(i, j) = NAN;
EXPECT_NEAR(max, matrix.maxCoeffOfFinites(), 1e-10);
Expand Down

0 comments on commit 9092aae

Please sign in to comment.