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.
7 #ifndef CAFU_DLOD_MODEL_LOADER_HPP_INCLUDED
8 #define CAFU_DLOD_MODEL_LOADER_HPP_INCLUDED
13 /// This class loads a discrete-level-of-detail (.dlod) model file into a new Cafu model.
14 class LoaderDlodT
: public ModelLoaderT
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
);
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
);
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
;