M2Datei.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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 : public virtual ReferenceCounter
  11. {
  12. private:
  13. Text *pfad;
  14. RCArray< Text > *modelName;
  15. Array< __int64 > *modelPos;
  16. public:
  17. //! Konstruktor
  18. DLLEXPORT M2Datei();
  19. //! Konstruktor
  20. //! \param pfad Der Pfad zur Datei
  21. DLLEXPORT M2Datei( const char *pfad );
  22. //! Konstruktor
  23. //! \param pfad Der Pfad zur Datei
  24. DLLEXPORT M2Datei( Text *pfad );
  25. //! Destruktor
  26. DLLEXPORT ~M2Datei();
  27. //! Setzt den Pfad zur Datei
  28. //! \param pfad Pfad zur Datei
  29. DLLEXPORT void setPfad( const char *pfad );
  30. //! Setzt einen Zeiger auf den Pfad zur Datei
  31. //! \param pfad Zeiger auf den Pfad zur Datei
  32. DLLEXPORT void setPfadZ( Text *pfad );
  33. //! Ließt grundlegende Informationen aus der Datei, die für ihre Verwendung benötigt werden
  34. DLLEXPORT void leseDaten();
  35. //! Speichert 2D Modell Daten in der Datei
  36. //! \param zMdr Ein Zeiger auf die zu speichernden Daten ohne erhöhtem Reference Counter
  37. //! \param 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. DLLEXPORT bool saveModel( Model2DData *zMdr, Text *name );
  40. //! Speichert 2D Modell Daten in der Datei
  41. //! \param zMdr Ein Zeiger auf die zu speichernden Daten ohne erhöhtem Reference Counter
  42. //! \param name Der Name, unter dem die Daten in der Datei gespeichert werden sollen
  43. //! \return 1, falls das Modell gespeichert wurde. 0, falls ein fehler beim speichern auftrat
  44. DLLEXPORT bool saveModel( Model2DData *zMdr, const char *name );
  45. //! Löscht ein 2D Modell aus der Datei
  46. //! \param name Der Name des Modells
  47. //! \return 1, wenn das Modell gelöscht wurde. 0, wenn das Modell nicht gefunden wurde, oder ein fehler beim speichern auftrat
  48. DLLEXPORT bool removeModel( Text *name );
  49. //! Löscht ein 2D Modell aus der Datei
  50. //! \param name Der Name des Modells
  51. //! \return 1, wenn das Modell gelöscht wurde. 0, wenn das Modell nicht gefunden wurde, oder ein fehler beim speichern auftrat
  52. DLLEXPORT bool removeModel( const char *name );
  53. //! Lähd ein 2D Modell aus der Datei
  54. //! \param name Der name des zu ladenden Modells
  55. //! \return Die geladenen Daten
  56. DLLEXPORT Model2DData *ladeModel( Text *name ) const;
  57. //! Lähd ein 2D Modell aus der Datei
  58. //! \param name Der name des zu ladenden Modells
  59. //! \return Die geladenen Daten
  60. DLLEXPORT Model2DData *ladeModel( const char *name ) const;
  61. //! überprft, ob ein bestimmtes 2D Modell in der Datei existiert
  62. //! \param name Der Name des zu suchenden 2D Modells
  63. //! \return 1, wenn das Modell gefunden wurde. 0 sonst
  64. DLLEXPORT bool hatModel( const char *name ) const;
  65. //! ügibt die Anzahl der gespeicherten Modelle zurück
  66. DLLEXPORT int getModelAnzahl() const;
  67. //! Gibt den Namen eines Bestimmten Modells zurück
  68. //! \param i Der Index des Modells
  69. //! \return Ein Zeiger aud den Namen des Modells ohne erhöhten Reference Counter
  70. DLLEXPORT Text *zModelName( int i ) const;
  71. };
  72. }
  73. #endif