ccScaleDlg.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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: Daniel Girardeau-Montaut #
  15. //# #
  16. //##########################################################################
  17. #ifndef CC_SCALE_DLG_HEADER
  18. #define CC_SCALE_DLG_HEADER
  19. //CC_Lib
  20. #include <CCGeom.h>
  21. //Qt
  22. #include <QDialog>
  23. namespace Ui {
  24. class ScaleDialog;
  25. }
  26. //! Scale / multiply dialog
  27. class ccScaleDlg : public QDialog
  28. {
  29. Q_OBJECT
  30. public:
  31. //! Default constructor
  32. explicit ccScaleDlg(QWidget* parent = nullptr);
  33. ~ccScaleDlg();
  34. //! Returns scales
  35. CCVector3d getScales() const;
  36. //! Whether the entity should be 'kept in place' or not
  37. bool keepInPlace() const;
  38. //! Whether the Global shift should be rescaled as well
  39. bool rescaleGlobalShift() const;
  40. //! Saves state
  41. void saveState();
  42. private:
  43. void allDimsAtOnceToggled(bool);
  44. void fxUpdated(double);
  45. Ui::ScaleDialog* m_ui;
  46. };
  47. #endif //CC_SCALE_DLG_HEADER