Cube.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #pragma once
  2. #include "Model3D.h"
  3. namespace Framework
  4. {
  5. class Bild;
  6. enum CubeSeite
  7. {
  8. VORNE,
  9. HINTEN,
  10. RECHTS,
  11. LINKS,
  12. OBEN,
  13. UNTEN
  14. };
  15. // Ein Model eines Würfels
  16. class Cube : public Model3D
  17. {
  18. private:
  19. bool texturUpdate[ 6 ];
  20. public:
  21. // Konstruktor
  22. // size: Die Größe des Würfels
  23. __declspec( dllexport ) Cube( float size );
  24. // Destruktor
  25. __declspec( dllexport ) ~Cube();
  26. // Setzt die Textur des Würfels, so dass sie an allen Seiten gleich ist
  27. // textur: Die Textur als Bild
  28. __declspec( dllexport ) void setTextur( Bild *textur );
  29. // Setzt die Textur des Würfels, so dass sie an allen Seiten gleich ist
  30. // id: Die id der Textur. Sie muss im Textur Register des Frameworks registriert sein
  31. __declspec( dllexport ) void setTextur( int id );
  32. // Setzt die Textur von einer bestimmten Seite des Würfels
  33. // textur: Die Textur als Bild
  34. // s: Die Seite, die gesetzt werden soll
  35. __declspec( dllexport ) void setTextur( Bild *textur, CubeSeite s );
  36. // Setzt die Textur von einer bestimmten Seite des Würfels
  37. // id: Die id der Textur. Sie muss im Textur Register des Frameworks registriert sein
  38. // s: Die Seite, die gesetzt werden soll
  39. __declspec( dllexport ) void setTextur( int id, CubeSeite s );
  40. // Zeichnet den Würfel
  41. // zRObj: Ein Zeiger auf das Objekt, das zum Zeichnen verwendet werden soll (ohne erhöhten Reference Counter)
  42. __declspec( dllexport ) void render( Render3D *zRObj ) override;
  43. // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
  44. // return: 0.
  45. __declspec( dllexport ) Model3D *release() override;
  46. };
  47. }