flag.h 559 B

123456789101112131415161718192021222324
  1. #pragma once
  2. #include <QMatrix4x4>
  3. #include <QVector3D>
  4. namespace Render::Geom {
  5. class Flag {
  6. public:
  7. struct FlagMatrices {
  8. QMatrix4x4 pole;
  9. QMatrix4x4 pennant;
  10. QMatrix4x4 finial;
  11. QVector3D pennant_color;
  12. QVector3D pole_color;
  13. };
  14. static auto create(float world_x, float world_z,
  15. const QVector3D &flag_color = QVector3D(1.0F, 0.9F, 0.2F),
  16. const QVector3D &pole_color = QVector3D(0.3F, 0.2F, 0.1F),
  17. float scale = 1.0F) -> FlagMatrices;
  18. };
  19. } // namespace Render::Geom