If the pnumber is larger than the hardcoded maximum values for the KDtree, it will a) continue to try to push points to search, and no error is raised; b) no assertions are created to prevent inputting a point cloud that happens to be larger than this maximum, and c) nowhere in the code or paper is the limitation stated that the implementation only works for small (<5000 points) point clouds.
Thank you for your issue, it is prefered to divided large point cloud into blocks and apply upsampling respectively, I've modified the readme to point this out.
In main.cpp:
If the pnumber is larger than the hardcoded maximum values for the KDtree, it will a) continue to try to push points to
search
, and no error is raised; b) no assertions are created to prevent inputting a point cloud that happens to be larger than this maximum, and c) nowhere in the code or paper is the limitation stated that the implementation only works for small (<5000 points) point clouds.