Potree JavaScript Brush Selection Tool with Dynamic Size, Clipping Box Filtering, Classification Assignment, and AJAX Export
Budget: €250 – €750 EUR
I need a custom JavaScript class for the latest Potree Viewer that implements an interactive brush selection tool for point clouds with advanced filtering and classification features.
Core Features
Dynamic Brush Size
Adjustable in real time (mouse wheel or slider).
Visible radius indicator.
Point Selection & Coloring
Click and drag to select points.
Selected points highlighted yellow.
Deselect mode to remove points from selection (restore original color).
Selection Persistence
Retains selection after camera movement.
Pause/Resume brush without losing data.
Distance-from-camera limit to restrict selectable points.
Clipping Box Awareness
If a Potree clipping box is active & visible → only select points inside the visible portion of that box.
No clipping box = full point cloud is available for selection.
Classification Assignment
When points are selected, they are also assigned classification 7 (noise) internally.
This allows them to be toggled visible/invisible via Potree’s built-in classification panel.
Data Storage & AJAX Export
Store selected points in an array without duplicates.
Function to export coordinates + optional attributes via AJAX to PHP.
Clear Selection button:
Empties array.
Restores original color.
Resets classification back to original.
Performance Optimized
Must work smoothly with millions of points.
Efficient filtering when clipping box and distance limits are active.
Inline documentation per function
The tool should work with point clouds imported to potree from copc format or from own data format(potree converter)
Core Features
Dynamic Brush Size
Adjustable in real time (mouse wheel or slider).
Visible radius indicator.
Point Selection & Coloring
Click and drag to select points.
Selected points highlighted yellow.
Deselect mode to remove points from selection (restore original color).
Selection Persistence
Retains selection after camera movement.
Pause/Resume brush without losing data.
Distance-from-camera limit to restrict selectable points.
Clipping Box Awareness
If a Potree clipping box is active & visible → only select points inside the visible portion of that box.
No clipping box = full point cloud is available for selection.
Classification Assignment
When points are selected, they are also assigned classification 7 (noise) internally.
This allows them to be toggled visible/invisible via Potree’s built-in classification panel.
Data Storage & AJAX Export
Store selected points in an array without duplicates.
Function to export coordinates + optional attributes via AJAX to PHP.
Clear Selection button:
Empties array.
Restores original color.
Resets classification back to original.
Performance Optimized
Must work smoothly with millions of points.
Efficient filtering when clipping box and distance limits are active.
Inline documentation per function
The tool should work with point clouds imported to potree from copc format or from own data format(potree converter)
Related categories:
PHP
JavaScript
AJAX
jQuery / Prototype
Web Development
Frontend Development
Web Application