LineModule.h 1008 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*
  2. * author: Patrick-Christopher Mattulat
  3. * dev-tools: JetBrains CLion
  4. * created: 25.08.2018
  5. * last updated: 06.09.2018
  6. */
  7. #ifndef LINEMODULE_H
  8. #define LINEMODULE_H
  9. #include "../../Interface/IdentifiedObject.h"
  10. #include "../../Zindex/ZindexInfo.h"
  11. #include "../../../tools/Color/Color.h"
  12. #include "../../Renderer/LineRendererInfo.h"
  13. #include <LynarMathStructs.h>
  14. #include <atomic>
  15. class LineModule : IdentifiedObject
  16. {
  17. private:
  18. std::atomic<uint32_t> id;
  19. std::atomic<uint8_t> module;
  20. LineRendererInfo rendererInfo;
  21. ZindexInfo zindexInfo;
  22. public:
  23. explicit LineModule(uint32_t);
  24. ~LineModule();
  25. LynarMath::_Line_d get();
  26. _ColorValue_d getColor();
  27. uint32_t getId() override;
  28. uint8_t getModule();
  29. LineRendererInfo getRendererInfo();
  30. ZindexInfo getZindex();
  31. bool isVisible();
  32. void makeVisible(bool);
  33. void set(LynarMath::_Line_d);
  34. void setColor(_ColorValue_d);
  35. void setZindex(uint32_t);
  36. };
  37. #endif