Skip to content

Conversation

@larshg
Copy link
Contributor

@larshg larshg commented Jan 12, 2026

Fixes #6387

@larshg larshg added changelog: enhancement Meta-information for changelog generation module: features labels Jan 12, 2026
@larshg larshg added this to the pcl-1.16.0 milestone Jan 12, 2026
@larshg larshg requested a review from Copilot January 12, 2026 09:18
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds OpenMP-based multithreading support to the BoundaryEstimation class to enable parallel computation of boundary points. The implementation follows the same pattern used in other PCL features like NormalEstimationOMP.

Changes:

  • Added setNumberOfThreads() method to control thread count
  • Added OpenMP pragma directives to parallelize the main computation loops
  • Added member variables threads_ and chunk_size_ to manage parallel execution

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
features/include/pcl/features/boundary.h Declares setNumberOfThreads() method and adds threads_ and chunk_size_ member variables
features/include/pcl/features/impl/boundary.hpp Implements setNumberOfThreads() and adds OpenMP parallel directives to computeFeature() loops with appropriate variable scoping

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Member

@mvieth mvieth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

getCoordinateSystemOnPlane(...) and isBoundaryPoint(...) should be marked as const, to make it clear that they do not change any class member. Looks good otherwise.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
TEST (PCL, BoundaryEstimation)
TEST(PCL, BoundaryEstimationOMP)
Copy link

Copilot AI Jan 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The test case name "BoundaryEstimationOMP" suggests OpenMP-specific testing, but the implementation adds multithreading directly to the base BoundaryEstimation class rather than creating a separate BoundaryEstimationOMP class. This is inconsistent with how other OMP features are tested in PCL (e.g., NormalEstimationOMP in test_normal_estimation.cpp). Consider renaming this test to something like "BoundaryEstimationMultithreaded" to better reflect that it's testing the multithreading capability of the base class, not a separate OMP-specific class.

Suggested change
TEST(PCL, BoundaryEstimationOMP)
TEST(PCL, BoundaryEstimationMultithreaded)

Copilot uses AI. Check for mistakes.
Copy link
Member

@mvieth mvieth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me

@larshg larshg merged commit b6c78e7 into PointCloudLibrary:master Jan 17, 2026
19 checks passed
@larshg larshg deleted the addmtboundaryest branch January 17, 2026 11:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog: enhancement Meta-information for changelog generation module: features

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Boundary estimation not support parallel computing

2 participants