Fix issue in Rocket.lua script.
[Cafu-Engine.git] / Libs / Models / Loader_dlod.hpp
blobd35ae2d0066ff5f694c1643fb4ac051a055655c1
1 /*
2 Cafu Engine, http://www.cafu.de/
3 Copyright (c) Carsten Fuchs and other contributors.
4 This project is licensed under the terms of the MIT license.
5 */
7 #ifndef CAFU_DLOD_MODEL_LOADER_HPP_INCLUDED
8 #define CAFU_DLOD_MODEL_LOADER_HPP_INCLUDED
10 #include "Loader.hpp"
13 /// This class loads a discrete-level-of-detail (.dlod) model file into a new Cafu model.
14 class LoaderDlodT : public ModelLoaderT
16 public:
18 /// The constructor for loading a discrete-level-of-detail (.dlod) model file into a new Cafu model.
19 /// @param FileName The name of the .dlod file to load.
20 /// @param Flags The flags to load the model with. See ModelLoaderT::FlagsT for details.
21 LoaderDlodT(const std::string& FileName, int Flags=NONE);
23 /// The destructor.
24 ~LoaderDlodT();
26 const std::string& GetFileName() const;
27 void Load(ArrayT<CafuModelT::JointT>& Joints, ArrayT<CafuModelT::MeshT>& Meshes, ArrayT<CafuModelT::AnimT>& Anims, MaterialManagerImplT& MaterialMan);
28 void Load(ArrayT<CafuModelT::SkinT>& Skins, const MaterialManagerImplT& MaterialMan);
29 void Load(ArrayT<CafuModelT::GuiFixtureT>& GuiFixtures);
30 void Load(ArrayT<CafuModelT::ChannelT>& Channels);
31 bool Load(unsigned int Level, CafuModelT*& DlodModel, float& DlodDist);
34 private:
36 LoaderDlodT(const LoaderDlodT&); ///< Use of the Copy Constructor is not allowed.
37 void operator = (const LoaderDlodT&); ///< Use of the Assignment Operator is not allowed.
39 ArrayT<std::string> m_ModelNames; ///< The names of the concrete models in the dlod chain.
40 ArrayT<float> m_EndRanges;
41 ArrayT<ModelLoaderT*> m_ModelLoaders;
44 #endif