Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make the dependency of "outofcore" on "visualization" optional. #6254

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

rhuitl
Copy link
Contributor

@rhuitl rhuitl commented Mar 18, 2025

I would like to propose the following patch, to make the outofcore component not depend on the visualization component, because that brings in a pretty large dependency chain via VTK.

I noticed that outofcore needs only a single method from visualization, which is this overload of queryFrustum.

I'm not sure if my approach to make this dependency optional in CMake is correct. But it seems to work fine on my end.

What it does is:

  • if visualization is enabled, and outofcore is enabled, the latter will be built as normal
  • if visualization is disabled, but outofcore is enabled, the latter will be built without the method.

Without "visualization", one of the overloads of queryFrustum is unavailable.
@mvieth
Copy link
Member

mvieth commented Mar 20, 2025

Thanks for the pull request. I understand your wish to make the dependency of outofcore on visualization optional. Some thoughts I have on this pull request:

  • I am not sure how user-friendly it is that the overload of queryFrustum can simply not be available (if the visualization module has not been built). I guess the user can check BUILD_visualization to find out whether it is available or not, but that should be well documented
  • queryFrustum seems to only need pcl::visualization::viewScreenArea from the visualization module. And viewScreenArea does not need VTK, so maybe we can find a way without disabling queryFrustum when VTK is not available?

I will look further into this and try to come up with a suggestion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants