From 2afe3281cd281c7e103238cca44eea8aa8d0392e Mon Sep 17 00:00:00 2001 From: nekanat Date: Wed, 7 Oct 2020 18:15:49 +0900 Subject: [PATCH] update performance graph --- docs/_static/speedup.png | Bin 42040 -> 43324 bytes src/cupoch/geometry/occupancygrid.cu | 10 +++++----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/_static/speedup.png b/docs/_static/speedup.png index 4466f096f055f83600fa431b85fd550292e9ffd5..506d71e01d8b010ae414c16723dda40128f6fa5c 100644 GIT binary patch literal 43324 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°=2_#NSnf5kN;pPAm1Z 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 s1q@297nng%RsMO~1P7VbnrGQhXPJPX@ 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 LV{D?VXKnjm*6A~O diff --git a/src/cupoch/geometry/occupancygrid.cu b/src/cupoch/geometry/occupancygrid.cu index 5e71702c..11731b6b 100644 --- a/src/cupoch/geometry/occupancygrid.cu +++ b/src/cupoch/geometry/occupancygrid.cu @@ -368,11 +368,11 @@ OccupancyGrid& OccupancyGrid::SetFreeArea(const Eigen::Vector3f& min_bound, const Eigen::Vector3i half_res = Eigen::Vector3i::Constant(resolution_ / 2); Eigen::Vector3i imin_bound = ((min_bound - origin_) / voxel_size_).array().floor().matrix().cast() + half_res; Eigen::Vector3i imax_bound = ((max_bound - origin_) / voxel_size_).array().floor().matrix().cast() + half_res; - Eigen::Vector3i diff = imax_bound - imin_bound + Eigen::Vector3i::Ones(); - min_bound_ = imin_bound.cast(); - max_bound_ = imax_bound.cast(); - extract_range_voxels_functor func(diff, resolution_, - imin_bound); + min_bound_ = imin_bound.array().max(Eigen::Array3i(0, 0, 0)).matrix().cast(); + max_bound_ = imax_bound.array().min(Eigen::Array3i(resolution_ - 1, resolution_ - 1, resolution_ - 1)).matrix().cast(); + Eigen::Vector3ui16 diff = max_bound_ - min_bound_ + Eigen::Vector3ui16::Ones(); + extract_range_voxels_functor func(diff.cast(), resolution_, + min_bound_.cast()); thrust::for_each(thrust::make_permutation_iterator(voxels_.begin(), thrust::make_transform_iterator(thrust::make_counting_iterator(0), func)), thrust::make_permutation_iterator(voxels_.begin(),