ccGLPluginInterface.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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 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. #pragma once
  18. //CC_FBO_LIB
  19. #include <ccGlFilter.h>
  20. #include "ccDefaultPluginInterface.h"
  21. //! GL Filter plugin interface
  22. /** Version 1.4
  23. **/
  24. class ccGLPluginInterface : public ccDefaultPluginInterface
  25. {
  26. public:
  27. ccGLPluginInterface( const QString &resourcePath = QString() ) :
  28. ccDefaultPluginInterface( resourcePath )
  29. {
  30. }
  31. ~ccGLPluginInterface() override = default;
  32. //inherited from ccPluginInterface
  33. CC_PLUGIN_TYPE getType() const override { return CC_GL_FILTER_PLUGIN; }
  34. //! Returns a GL filter object
  35. virtual ccGlFilter* getFilter() = 0;
  36. };
  37. Q_DECLARE_METATYPE(ccGLPluginInterface *);
  38. Q_DECLARE_INTERFACE(ccGLPluginInterface,
  39. "cccorp.cloudcompare.ccGLFilterPluginInterface/1.4")