Currently using wave_matching it is very hard to write a const-correct program. The library itself should be const correct.
It may also be preferable to accept references to PointCloud instead of references to smart pointers, but probably best to be consistent with PCL. Note the difference between const shared_ptr<T> and shared_ptr<const T>.
Current
Functions accept PointCloud::Ptr arguments even though they never change the input
Desired
- Functions should accept accept
const PointCloud& arguments when they never change the input.
- Functions should accept
PointCloud::ConstPtr& arguments if they need to modify the smart pointer itself.
- Maybe
const PointCloud::ConstPtr & is OK because PCL interface is written this way.
Currently using wave_matching it is very hard to write a const-correct program. The library itself should be const correct.
It may also be preferable to accept references to PointCloud instead of references to smart pointers, but probably best to be consistent with PCL. Note the difference between
const shared_ptr<T>andshared_ptr<const T>.Current
Functions accept
PointCloud::Ptrarguments even though they never change the inputDesired
const PointCloud&arguments when they never change the input.PointCloud::ConstPtr&arguments if they need to modify the smart pointer itself.const PointCloud::ConstPtr &is OK because PCL interface is written this way.