Skip to content

Add new filters: FilterClear and FilterRemovePointCloudField#40

Merged
jlblancoc merged 1 commit intodevelopfrom
feat/new-clear-remove-field-filters
Feb 15, 2026
Merged

Add new filters: FilterClear and FilterRemovePointCloudField#40
jlblancoc merged 1 commit intodevelopfrom
feat/new-clear-remove-field-filters

Conversation

@jlblancoc
Copy link
Copy Markdown
Member

@jlblancoc jlblancoc commented Feb 15, 2026

Summary by CodeRabbit

  • New Features

    • FilterClear: Empties a specified metric map layer while preserving the layer entry.
    • FilterRemovePointCloudField: Removes custom fields from point cloud layers with configurable error handling.
  • Documentation

    • Added documentation and YAML configuration examples for both new filters.
  • Tests

    • Added comprehensive unit tests for both filters.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Feb 15, 2026

Warning

Rate limit exceeded

@jlblancoc has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 19 minutes and 11 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📝 Walkthrough

Walkthrough

Two new filter classes are introduced to mp2p_icp_filters: FilterClear clears a specified metric map layer, and FilterRemovePointCloudField removes custom fields from point cloud layers. Corresponding implementations, headers, comprehensive tests, build configurations, and documentation updates are added.

Changes

Cohort / File(s) Summary
FilterClear Filter
mp2p_icp_filters/include/mp2p_icp_filters/FilterClear.h, mp2p_icp_filters/src/FilterClear.cpp
New filter class that clears a specified metric map layer by calling its clear() method. Includes Parameters struct with target_layer configuration and standard filter lifecycle methods (initialize_filter, filter).
FilterRemovePointCloudField Filter
mp2p_icp_filters/include/mp2p_icp_filters/FilterRemovePointCloudField.h, mp2p_icp_filters/src/FilterRemovePointCloudField.cpp
New filter class that unregisters custom fields from CGenericPointsMap layers. Includes Parameters struct with pointcloud_layer, field_name, and throw_on_missing_field configuration options with error handling.
Build Configuration
mp2p_icp_filters/CMakeLists.txt, tests/CMakeLists.txt
Updated build files to register new filter source files, headers, and corresponding test targets (mp2p_FilterClear, mp2p_FilterRemovePointCloudField) with mp2p_icp_filters as dependency.
Test Suite
tests/test-mp2p_FilterClear.cpp, tests/test-mp2p_FilterRemovePointCloudField.cpp
Comprehensive unit tests validating FilterClear layer clearing behavior and FilterRemovePointCloudField field removal across various scenarios including error conditions and edge cases.
Documentation
docs/source/mp2p_icp_filters.rst
Added documentation describing both new filters, their parameters, use cases, and YAML configuration examples.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~35 minutes

Poem

🐰 Two filters hop in, fresh and clean,
One clears layers, keeping scenes serene,
The other plucks fields with careful care,
Maps grow lighter, with nary a glare!
Tests and docs bound alongside with glee,
A hoppy addition to mp2p ICP! 🌱

🚥 Pre-merge checks | ✅ 3 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 12.50% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely summarizes the main change: adding two new filters (FilterClear and FilterRemovePointCloudField) to the codebase.
Merge Conflict Detection ✅ Passed ✅ No merge conflicts detected when merging into develop

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/new-clear-remove-field-filters

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@jlblancoc jlblancoc force-pushed the feat/new-clear-remove-field-filters branch from a4704c3 to ba0bd12 Compare February 15, 2026 09:41
@codecov
Copy link
Copy Markdown

codecov Bot commented Feb 15, 2026

Codecov Report

❌ Patch coverage is 96.13900% with 10 lines in your changes missing coverage. Please review.
✅ Project coverage is 77.44%. Comparing base (493331c) to head (ba0bd12).
⚠️ Report is 2 commits behind head on develop.

Files with missing lines Patch % Lines
tests/test-mp2p_FilterClear.cpp 93.84% 4 Missing ⚠️
tests/test-mp2p_FilterRemovePointCloudField.cpp 97.12% 4 Missing ⚠️
mp2p_icp_filters/src/FilterClear.cpp 94.11% 1 Missing ⚠️
...2p_icp_filters/src/FilterRemovePointCloudField.cpp 96.77% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop      #40      +/-   ##
===========================================
+ Coverage    76.93%   77.44%   +0.50%     
===========================================
  Files          179      185       +6     
  Lines         9579     9836     +257     
  Branches       924      927       +3     
===========================================
+ Hits          7370     7617     +247     
- Misses        2209     2219      +10     
Files with missing lines Coverage Δ
...icp_filters/include/mp2p_icp_filters/FilterClear.h 100.00% <100.00%> (ø)
...ude/mp2p_icp_filters/FilterRemovePointCloudField.h 100.00% <100.00%> (ø)
mp2p_icp_filters/src/register.cpp 100.00% <100.00%> (ø)
mp2p_icp_filters/src/FilterClear.cpp 94.11% <94.11%> (ø)
...2p_icp_filters/src/FilterRemovePointCloudField.cpp 96.77% <96.77%> (ø)
tests/test-mp2p_FilterClear.cpp 93.84% <93.84%> (ø)
tests/test-mp2p_FilterRemovePointCloudField.cpp 97.12% <97.12%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@jlblancoc jlblancoc merged commit ae3d088 into develop Feb 15, 2026
15 checks passed
@jlblancoc jlblancoc deleted the feat/new-clear-remove-field-filters branch February 15, 2026 10:04
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.

1 participant