#ifndef M2Datei_H #define M2Datei_H #include "Array.h" namespace Framework { class Model2DData; //! Model2D.h class Text; //! Text.h //! Diese Klasse verwaltet das Framework eigenen Dateivormat für 2D Modell //! Daten Es können mehrere 2D Modell Daten in einer Datei gespeichert //! werden class M2Datei : public virtual ReferenceCounter { private: Text* pfad; RCArray* modelName; Array<__int64>* modelPos; public: //! Konstruktor DLLEXPORT M2Datei(); //! Konstruktor //! \param pfad Der Pfad zur Datei DLLEXPORT M2Datei(const char* pfad); //! Konstruktor //! \param pfad Der Pfad zur Datei DLLEXPORT M2Datei(Text* pfad); //! Destruktor DLLEXPORT ~M2Datei(); //! Setzt den Pfad zur Datei //! \param pfad Pfad zur Datei DLLEXPORT void setPfad(const char* pfad); //! Setzt einen Zeiger auf den Pfad zur Datei //! \param pfad Zeiger auf den Pfad zur Datei DLLEXPORT void setPfadZ(Text* pfad); //! Ließt grundlegende Informationen aus der Datei, die für ihre //! Verwendung benötigt werden DLLEXPORT void leseDaten(); //! Speichert 2D Modell Daten in der Datei //! \param zMdr Ein Zeiger auf die zu speichernden Daten ohne erhöhtem //! Reference Counter \param name Der Name, unter dem die Daten in der //! Datei gespeichert werden sollen \return 1, falls das Modell //! gespeichert wurde. 0, falls ein fehler beim speichern auftrat DLLEXPORT bool saveModel(Model2DData* zMdr, Text* name); //! Speichert 2D Modell Daten in der Datei //! \param zMdr Ein Zeiger auf die zu speichernden Daten ohne erhöhtem //! Reference Counter \param name Der Name, unter dem die Daten in der //! Datei gespeichert werden sollen \return 1, falls das Modell //! gespeichert wurde. 0, falls ein fehler beim speichern auftrat DLLEXPORT bool saveModel(Model2DData* zMdr, const char* name); //! Löscht ein 2D Modell aus der Datei //! \param name Der Name des Modells //! \return 1, wenn das Modell gelöscht wurde. 0, wenn das Modell nicht //! gefunden wurde, oder ein fehler beim speichern auftrat DLLEXPORT bool removeModel(Text* name); //! Löscht ein 2D Modell aus der Datei //! \param name Der Name des Modells //! \return 1, wenn das Modell gelöscht wurde. 0, wenn das Modell nicht //! gefunden wurde, oder ein fehler beim speichern auftrat DLLEXPORT bool removeModel(const char* name); //! Lähd ein 2D Modell aus der Datei //! \param name Der name des zu ladenden Modells //! \return Die geladenen Daten DLLEXPORT Model2DData* ladeModel(Text* name) const; //! Lähd ein 2D Modell aus der Datei //! \param name Der name des zu ladenden Modells //! \return Die geladenen Daten DLLEXPORT Model2DData* ladeModel(const char* name) const; //! überprft, ob ein bestimmtes 2D Modell in der Datei existiert //! \param name Der Name des zu suchenden 2D Modells //! \return 1, wenn das Modell gefunden wurde. 0 sonst DLLEXPORT bool hatModel(const char* name) const; //! ügibt die Anzahl der gespeicherten Modelle zurück DLLEXPORT int getModelAnzahl() const; //! Gibt den Namen eines Bestimmten Modells zurück //! \param i Der Index des Modells //! \return Ein Zeiger aud den Namen des Modells ohne erhöhten Reference //! Counter DLLEXPORT Text* zModelName(int i) const; }; } // namespace Framework #endif