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