M2Datei.h 4.1 KB

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