qM3C2.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. //##########################################################################
  2. //# #
  3. //# CLOUDCOMPARE PLUGIN: qM3C2 #
  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: UNIVERSITE EUROPEENNE DE BRETAGNE #
  15. //# #
  16. //##########################################################################
  17. #ifndef Q_M3C2_PLUGIN_HEADER
  18. #define Q_M3C2_PLUGIN_HEADER
  19. //qCC
  20. #include "ccStdPluginInterface.h"
  21. //qCC_db
  22. #include <ccHObject.h>
  23. //! M3C2 plugin
  24. /** See "Accurate 3D comparison of complex topography with terrestrial laser scanner:
  25. application to the Rangitikei canyon (N-Z)", Lague, D., Brodu, N. and Leroux, J.,
  26. 2013, ISPRS journal of Photogrammmetry and Remote Sensing
  27. **/
  28. class qM3C2Plugin : public QObject, public ccStdPluginInterface
  29. {
  30. Q_OBJECT
  31. Q_INTERFACES( ccPluginInterface ccStdPluginInterface )
  32. Q_PLUGIN_METADATA( IID "cccorp.cloudcompare.plugin.qM3C2" FILE "../info.json" )
  33. public:
  34. //! Default constructor
  35. qM3C2Plugin(QObject* parent = nullptr);
  36. virtual ~qM3C2Plugin() = default;
  37. //inherited from ccStdPluginInterface
  38. virtual void onNewSelection(const ccHObject::Container& selectedEntities) override;
  39. virtual QList<QAction *> getActions() override;
  40. virtual void registerCommands(ccCommandLineInterface* cmd) override;
  41. private:
  42. void doAction();
  43. //! Default action
  44. QAction* m_action;
  45. //! Currently selected entities
  46. ccHObject::Container m_selectedEntities;
  47. };
  48. #endif //Q_M3C2_PLUGIN_HEADER