Welt3D.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #pragma once
  2. #include "Betriebssystem.h"
  3. namespace Framework
  4. {
  5. class Zeichnung3DArray; // Zeichnung3D.h
  6. class Zeichnung3D; // Zeichnung.h
  7. class Render3D; // Render3D.h
  8. class Welt3D
  9. {
  10. private:
  11. Zeichnung3D **members;
  12. Zeichnung3D **membersAlpha;
  13. bool *used;
  14. float *distSq;
  15. Zeichnung3D **alphaVS;
  16. int arraySize;
  17. int arraySizeAlpha;
  18. int ref;
  19. public:
  20. // Konstructor
  21. __declspec( dllexport ) Welt3D();
  22. // Destruktor
  23. __declspec( dllexport ) ~Welt3D();
  24. // Fügt der Welt ein Objekt hinzu
  25. // obj: Das Objekt, was hinzugefügt werden soll
  26. __declspec( dllexport ) void addZeichnung( Zeichnung3D *obj );
  27. // Entfernt ein Objekt aus der Welt
  28. // obj: Das Objekt, das entwernt werden soll
  29. __declspec( dllexport ) void removeZeichnung( Zeichnung3D *obj );
  30. // Verarbeitet die vergangene Zeit
  31. // tickval: Die zeit in sekunden, die seit dem letzten Aufruf der Funktion vergangen ist
  32. // return: true, wenn sich das Objekt verändert hat, false sonnst.
  33. __declspec( dllexport ) virtual bool tick( double tickval );
  34. // Zeichnet einen ausschnitt der Welt
  35. // zRObj: Enthällt alle Werkzeuge, die zum Zeichnen verwendet werden
  36. __declspec( dllexport ) void render( Render3D *zRObj );
  37. // Erhöht den Reference Counting Zähler.
  38. // return: this.
  39. __declspec( dllexport ) Welt3D *getThis();
  40. // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
  41. // return: 0.
  42. __declspec( dllexport ) Welt3D *release();
  43. };
  44. }