#pragma once #include "Array.h" namespace Framework { class Model3DData; //! Model3D.h class Text; //! Text.h class Model3D; //! Model3D.h namespace Standart3DTypes { extern const char* cube; //! = "f_würfel"; Die Modeldaten eines Würfels //! der 100 * 100 * 100 groß ist extern const char* texturModel; //! = "f_würfel"; Die Modeldaten eines //! Würfels der 100 * 100 * 100 groß ist }; // namespace Standart3DTypes //! Verwaltet alle geladenen Modeldaten, so dass mehrere Zeichnungen die //! selben Daten benutzen können class Model3DList : public virtual ReferenceCounter { private: RCArray* models; RCArray* names; public: //! Konstruktor DLLEXPORT Model3DList(); //! Destruktor DLLEXPORT ~Model3DList(); //! Fügt der Liste ein Model Hinzu //! \param mdl Das Model //! \param name Der name, unter dem das Model in der Liste gespeichert //! wird DLLEXPORT bool addModel(Model3DData* mdl, const char* name); //! Entfernt ein Model aus der Liste //! \param name Der Name des Models DLLEXPORT void removeModel(const char* name); //! Überprüft, ob unter einem bestimmten Namen ein Model abgespeichert //! wurde \param name Der Name \return true, wenn ein Model mit dem //! Namen existiert DLLEXPORT bool hatModel(const char* name) const; //! Gibt ein bestimmtes Model zurück //! \param name Der Name des Models DLLEXPORT Model3DData* getModel(const char* name) const; //! Gibt ein bestimmtes Model ohne erhöhten Reference Counter zurück //! \param name Der Name des Models DLLEXPORT Model3DData* zModel(const char* name) const; //! remove All models DLLEXPORT void removeAll(); }; } // namespace Framework