Skip to content

Commit

Permalink
Using simple string instead of std_msgs/String[] in message definitions.
Browse files Browse the repository at this point in the history
  • Loading branch information
Peter Fankhauser committed Dec 17, 2014
1 parent b33d84a commit 14c8bd3
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 10 deletions.
11 changes: 4 additions & 7 deletions grid_map/src/GridMap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,8 @@ void GridMap::toMessage(const std::vector<std::string>& types, grid_map_msg::Gri
message.info.positionX = position_.x();
message.info.positionY = position_.y();

for (auto& type : types) {
std_msgs::String definition;
definition.data = type;
message.dataDefinition.push_back(definition);

for (const auto& type : types) {
message.dataDefinition.push_back(type);
std_msgs::Float32MultiArray dataArray;
matrixEigenCopyToMultiArrayMessage(data_.at(type), dataArray);
message.data.push_back(dataArray);
Expand Down Expand Up @@ -93,8 +90,8 @@ bool GridMap::fromMessage(const grid_map_msg::GridMap& message)
for (unsigned int i = 0; i < message.dataDefinition.size(); i++) {
Eigen::MatrixXf dataMatrix;
multiArrayMessageCopyToMatrixEigen(message.data[i], dataMatrix); // TODO Could we use the data mapping (instead of copying) method here?
data_.insert(std::pair<std::string, Eigen::MatrixXf>(message.dataDefinition[i].data, dataMatrix));
types_.push_back(message.dataDefinition[i].data);
data_.insert(std::pair<std::string, Eigen::MatrixXf>(message.dataDefinition[i], dataMatrix));
types_.push_back(message.dataDefinition[i]);
}

clearTypes_ = types_;
Expand Down
4 changes: 2 additions & 2 deletions grid_map_msg/msg/GridMap.msg
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
GridMapInfo info

# Grid map data definition.
std_msgs/String[] dataDefinition
string[] dataDefinition

# Grid map data.
std_msgs/Float32MultiArray[] data
Expand All @@ -11,4 +11,4 @@ std_msgs/Float32MultiArray[] data
uint16 outerStartIndex

# Column start index (default 0).
uint16 innerStartIndex
uint16 innerStartIndex
2 changes: 1 addition & 1 deletion grid_map_msg/srv/GetGridMap.srv
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ float64 lengthX
float64 lengthY

# Requested data. If empty, get all available data.
std_msgs/String[] dataDefinition
string[] dataDefinition

---

Expand Down

0 comments on commit 14c8bd3

Please sign in to comment.