@@ -274,30 +274,19 @@ pcl::getMinMax3D (const pcl::PCLPointCloud2ConstPtr &cloud, int x_idx, int y_idx
274274 {
275275 std::memcpy (&distance_value, data_ptr + distance_off, sizeof (D));
276276
277- if (limit_negative)
277+ if (limit_negative == (distance_value < max_distance && distance_value > min_distance) )
278278 {
279- if ((distance_value < max_distance) && (distance_value > min_distance))
280- {
281- data_ptr += pt_step;
282- continue ;
283- }
284- }
285- else
286- {
287- if ((distance_value > max_distance) || (distance_value < min_distance))
288- {
289- data_ptr += pt_step;
290- continue ;
291- }
279+ data_ptr += pt_step;
280+ continue ;
292281 }
293282
294- std::memcpy (&x, data_ptr + x_off, sizeof (T));
295- std::memcpy (&y, data_ptr + y_off, sizeof (T));
296- std::memcpy (&z, data_ptr + z_off, sizeof (T));
283+ std::memcpy (&x, data_ptr + x_off, sizeof (T));
284+ std::memcpy (&y, data_ptr + y_off, sizeof (T));
285+ std::memcpy (&z, data_ptr + z_off, sizeof (T));
297286
298- data_ptr += pt_step;
287+ data_ptr += pt_step;
299288
300- update_min_max (x, y, z);
289+ update_min_max (x, y, z);
301290 }
302291 }
303292 else
@@ -306,34 +295,23 @@ pcl::getMinMax3D (const pcl::PCLPointCloud2ConstPtr &cloud, int x_idx, int y_idx
306295 {
307296 std::memcpy (&distance_value, data_ptr + distance_off, sizeof (D));
308297
309- if (limit_negative)
310- {
311- if ((distance_value < max_distance) && (distance_value > min_distance))
312- {
313- data_ptr += pt_step;
314- continue ;
315- }
316- }
317- else
298+ if (limit_negative == (distance_value < max_distance && distance_value > min_distance))
318299 {
319- if ((distance_value > max_distance) || (distance_value < min_distance))
320- {
321- data_ptr += pt_step;
322- continue ;
323- }
300+ data_ptr += pt_step;
301+ continue ;
324302 }
325303
326- std::memcpy (&x, data_ptr + x_off, sizeof (T));
327- std::memcpy (&y, data_ptr + y_off, sizeof (T));
328- std::memcpy (&z, data_ptr + z_off, sizeof (T));
304+ std::memcpy (&x, data_ptr + x_off, sizeof (T));
305+ std::memcpy (&y, data_ptr + y_off, sizeof (T));
306+ std::memcpy (&z, data_ptr + z_off, sizeof (T));
329307
330- data_ptr += pt_step;
308+ data_ptr += pt_step;
331309
332- // Check if the point is invalid
333- if (!std::isfinite (x) || !std::isfinite (y) || !std::isfinite (z))
334- continue ;
310+ // Check if the point is invalid
311+ if (!std::isfinite (x) || !std::isfinite (y) || !std::isfinite (z))
312+ continue ;
335313
336- update_min_max (x, y, z);
314+ update_min_max (x, y, z);
337315 }
338316 }
339317
@@ -410,15 +388,9 @@ pcl::getMinMax3D (const pcl::PCLPointCloud2ConstPtr &cloud, const pcl::Indices &
410388
411389 std::memcpy (&distance_value, pt_data + distance_off, sizeof (D));
412390
413- if (limit_negative)
391+ if (limit_negative == (distance_value < max_distance && distance_value > min_distance) )
414392 {
415- if ((distance_value < max_distance) && (distance_value > min_distance))
416- continue ;
417- }
418- else
419- {
420- if ((distance_value > max_distance) || (distance_value < min_distance))
421- continue ;
393+ continue ;
422394 }
423395
424396 std::memcpy (&x, pt_data + x_off, sizeof (T));
@@ -436,15 +408,9 @@ pcl::getMinMax3D (const pcl::PCLPointCloud2ConstPtr &cloud, const pcl::Indices &
436408
437409 std::memcpy (&distance_value, pt_data + distance_off, sizeof (D));
438410
439- if (limit_negative)
411+ if (limit_negative == (distance_value < max_distance && distance_value > min_distance) )
440412 {
441- if ((distance_value < max_distance) && (distance_value > min_distance))
442- continue ;
443- }
444- else
445- {
446- if ((distance_value > max_distance) || (distance_value < min_distance))
447- continue ;
413+ continue ;
448414 }
449415
450416 std::memcpy (&x, pt_data + x_off, sizeof (T));
0 commit comments