ccRegistrationTools.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. //##########################################################################
  2. //# #
  3. //# CLOUDCOMPARE #
  4. //# #
  5. //# This program is free software; you can redistribute it and/or modify #
  6. //# it under the terms of the GNU General Public License as published by #
  7. //# the Free Software Foundation; version 2 or later of the License. #
  8. //# #
  9. //# This program is distributed in the hope that it will be useful, #
  10. //# but WITHOUT ANY WARRANTY; without even the implied warranty of #
  11. //# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
  12. //# GNU General Public License for more details. #
  13. //# #
  14. //# COPYRIGHT: EDF R&D / TELECOM ParisTech (ENST-TSI) #
  15. //# #
  16. //##########################################################################
  17. #ifndef CC_REGISTRATION_TOOLS_HEADER
  18. #define CC_REGISTRATION_TOOLS_HEADER
  19. //CCCoreLib
  20. #include <RegistrationTools.h>
  21. //qCC_db
  22. #include <ccGLMatrix.h>
  23. class QWidget;
  24. class QStringList;
  25. class ccHObject;
  26. //! Registration tools wrapper
  27. class ccRegistrationTools
  28. {
  29. public:
  30. //! Applies ICP registration on two entities
  31. /** \warning Automatically samples points on meshes if necessary (see code for magic numbers ;)
  32. **/
  33. static bool ICP(ccHObject* data,
  34. ccHObject* model,
  35. ccGLMatrix& transMat,
  36. double& finalScale,
  37. double& finalRMS,
  38. unsigned& finalPointCount,
  39. const CCCoreLib::ICPRegistrationTools::Parameters& inputParameters,
  40. bool useDataSFAsWeights = false,
  41. bool useModelSFAsWeights = false,
  42. QWidget* parent = nullptr);
  43. };
  44. #endif //CC_REGISTRATION_TOOLS_HEADER