From 96b216e21edef5888dc4b9a5bd2ad84a181f6c2d Mon Sep 17 00:00:00 2001 From: Max SCHMELLER Date: Tue, 5 Nov 2024 17:14:09 +0900 Subject: [PATCH] fix(velodyne): reset pointcloud incl. width/height, not just points buffer Signed-off-by: Max SCHMELLER --- .../src/nebula_decoders_velodyne/decoders/vlp16_decoder.cpp | 2 +- .../src/nebula_decoders_velodyne/decoders/vlp32_decoder.cpp | 3 +-- .../src/nebula_decoders_velodyne/decoders/vls128_decoder.cpp | 3 +-- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/nebula_decoders/src/nebula_decoders_velodyne/decoders/vlp16_decoder.cpp b/nebula_decoders/src/nebula_decoders_velodyne/decoders/vlp16_decoder.cpp index 5a8cea2ec..f297ff92d 100644 --- a/nebula_decoders/src/nebula_decoders_velodyne/decoders/vlp16_decoder.cpp +++ b/nebula_decoders/src/nebula_decoders_velodyne/decoders/vlp16_decoder.cpp @@ -89,7 +89,7 @@ int Vlp16Decoder::pointsPerPacket() void Vlp16Decoder::reset_pointcloud(size_t n_pts, double time_stamp) { - scan_pc_->points.clear(); + scan_pc_->clear(); max_pts_ = n_pts * pointsPerPacket(); scan_pc_->points.reserve(max_pts_); reset_overflow(time_stamp); // transfer existing overflow points to the cleared pointcloud diff --git a/nebula_decoders/src/nebula_decoders_velodyne/decoders/vlp32_decoder.cpp b/nebula_decoders/src/nebula_decoders_velodyne/decoders/vlp32_decoder.cpp index 92ee10df0..f1d979b57 100644 --- a/nebula_decoders/src/nebula_decoders_velodyne/decoders/vlp32_decoder.cpp +++ b/nebula_decoders/src/nebula_decoders_velodyne/decoders/vlp32_decoder.cpp @@ -87,8 +87,7 @@ int Vlp32Decoder::pointsPerPacket() void Vlp32Decoder::reset_pointcloud(size_t n_pts, double time_stamp) { - // scan_pc_.reset(new NebulaPointCloud); - scan_pc_->points.clear(); + scan_pc_->clear(); max_pts_ = n_pts * pointsPerPacket(); scan_pc_->points.reserve(max_pts_); reset_overflow(time_stamp); // transfer existing overflow points to the cleared pointcloud diff --git a/nebula_decoders/src/nebula_decoders_velodyne/decoders/vls128_decoder.cpp b/nebula_decoders/src/nebula_decoders_velodyne/decoders/vls128_decoder.cpp index 2e7c644db..b27068fb5 100644 --- a/nebula_decoders/src/nebula_decoders_velodyne/decoders/vls128_decoder.cpp +++ b/nebula_decoders/src/nebula_decoders_velodyne/decoders/vls128_decoder.cpp @@ -89,8 +89,7 @@ int Vls128Decoder::pointsPerPacket() void Vls128Decoder::reset_pointcloud(size_t n_pts, double time_stamp) { - // scan_pc_.reset(new NebulaPointCloud); - scan_pc_->points.clear(); + scan_pc_->clear(); max_pts_ = n_pts * pointsPerPacket(); scan_pc_->points.reserve(max_pts_); reset_overflow(time_stamp); // transfer existing overflow points to the cleared pointcloud