CRotationRandom.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #pragma once
  2. #include "WallpaperEngine/Core/Objects/Particles/CInitializer.h"
  3. #include <nlohmann/json.hpp>
  4. namespace WallpaperEngine::Core::Objects::Particles::Initializers
  5. {
  6. class CRotationRandom : CInitializer
  7. {
  8. public:
  9. const glm::vec3 getMinimumVector () const;
  10. const glm::vec3 getMaximumVector () const;
  11. const double getMinimumNumber () const;
  12. const double getMaximumNumber () const;
  13. const bool isMinimumVector () const;
  14. const bool isMinimumNumber () const;
  15. const bool isMaximumVector () const;
  16. const bool isMaximumNumber () const;
  17. protected:
  18. friend class CInitializer;
  19. static CRotationRandom* fromJSON (json data, uint32_t id);
  20. CRotationRandom (
  21. uint32_t id,
  22. glm::vec3 minVector,
  23. double minNumber,
  24. bool isMinimumVector,
  25. glm::vec3 maxVector,
  26. double maxNumber,
  27. bool isMaximumVector
  28. );
  29. private:
  30. glm::vec3 m_maxVector;
  31. double m_maxNumber;
  32. glm::vec3 m_minVector;
  33. double m_minNumber;
  34. bool m_isMinimumVector;
  35. bool m_isMaximumVector;
  36. };
  37. };