M3Datei.h 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #pragma once
  2. #include "Array.h"
  3. namespace Framework
  4. {
  5. class Text;
  6. class Model3DData;
  7. class M3Datei
  8. {
  9. private:
  10. Text pfad;
  11. RCArray< Text > *modelName;
  12. Array< __int64 > *modelPos;
  13. int ref;
  14. public:
  15. // Konstruktor
  16. __declspec( dllexport ) M3Datei();
  17. // Konstruktor
  18. // pfad: Der Pfad zur Datei
  19. __declspec( dllexport ) M3Datei( const char *pfad );
  20. // Konstruktor
  21. // pfad: Der Pfad zur Datei
  22. __declspec( dllexport ) M3Datei( Text *pfad );
  23. // Destruktor
  24. __declspec( dllexport ) ~M3Datei();
  25. // Setzt den Pfad zur Datei
  26. // pfad: Pfad zur Datei
  27. __declspec( dllexport ) void setPfad( const char *pfad );
  28. // Ließt grundlegende Informationen aus der Datei, die für ihre Verwendung benötigt werden
  29. __declspec( dllexport ) void leseDaten();
  30. // Speichert 3D Modell Daten in der Datei
  31. // zMdr: Ein Zeiger auf die zu speichernden Daten ohne erhöhtem Reference Counter
  32. // name: Der Name, unter dem die Daten in der Datei gespeichert werden sollen
  33. // return: 1, falls das Modell gespeichert wurde. 0, falls ein fehler beim speichern auftrat
  34. __declspec( dllexport ) bool saveModel( Model3DData *zMdr, Text *name );
  35. // Speichert 3D Modell Daten in der Datei
  36. // zMdr: Ein Zeiger auf die zu speichernden Daten ohne erhöhtem Reference Counter
  37. // name: Der Name, unter dem die Daten in der Datei gespeichert werden sollen
  38. // return: 1, falls das Modell gespeichert wurde. 0, falls ein fehler beim speichern auftrat
  39. __declspec( dllexport ) bool saveModel( Model3DData *zMdr, const char *name );
  40. // Löscht ein 3D Modell aus der Datei
  41. // name: Der Name des Modells
  42. // return: 1, wenn das Modell gelöscht wurde. 0, wenn das Modell nicht gefunden wurde, oder ein fehler beim speichern auftrat
  43. __declspec( dllexport ) bool löscheModel( Text *name );
  44. // Löscht ein 3D Modell aus der Datei
  45. // name: Der Name des Modells
  46. // return: 1, wenn das Modell gelöscht wurde. 0, wenn das Modell nicht gefunden wurde, oder ein fehler beim speichern auftrat
  47. __declspec( dllexport ) bool löscheModel( const char *name );
  48. // Lähd ein 3D Modell aus der Datei
  49. // name: Der name des zu ladenden Modells
  50. // return: Die geladenen Daten
  51. __declspec( dllexport ) Model3DData *ladeModel( Text *name ) const;
  52. // Lähd ein 3D Modell aus der Datei
  53. // name: Der name des zu ladenden Modells
  54. // return: Die geladenen Daten
  55. __declspec( dllexport ) Model3DData *ladeModel( const char *name ) const;
  56. // überprft, ob ein bestimmtes 3D Modell in der Datei existiert
  57. // name: Der Name des zu suchenden 3D Modells
  58. // return: 1, wenn das Modell gefunden wurde. 0 sonst
  59. __declspec( dllexport ) bool hatModel( const char *name ) const;
  60. // ügibt die Anzahl der gespeicherten Modelle zurück
  61. __declspec( dllexport ) int getModelAnzahl() const;
  62. // Gibt den Namen eines Bestimmten Modells zurück
  63. // i: Der Index des Modells
  64. // return: Ein Zeiger aud den Namen des Modells ohne erhöhten Reference Counter
  65. __declspec( dllexport ) Text *zModelName( int i ) const;
  66. // Erhöht den Reference Counting Zähler.
  67. // return: this.
  68. __declspec( dllexport ) M3Datei *getThis();
  69. // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
  70. // return: 0.
  71. __declspec( dllexport ) M3Datei *release();
  72. };
  73. }