Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/ogre/Tools/3dsmaxExport/OgreExport/include/OgreMaxMaterialExport.h @ 24

Last change on this file since 24 was 6, checked in by anonymous, 17 years ago

=…

File size: 2.1 KB
Line 
1/*
2-----------------------------------------------------------------------------
3This source file is part of OGRE
4(Object-oriented Graphics Rendering Engine)
5For the latest info, see http://www.ogre3d.org/
6
7Copyright (c) 2000-2006 The OGRE Team
8Also see acknowledgements in Readme.html
9
10This program is free software; you can redistribute it and/or modify it under
11the terms of the GNU Lesser General Public License as published by the Free Software
12Foundation; either version 2 of the License, or (at your option) any later
13version.
14
15This program is distributed in the hope that it will be useful, but WITHOUT
16ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
18
19You should have received a copy of the GNU Lesser General Public License along with
20this program; if not, write to the Free Software Foundation, Inc., 59 Temple
21Place - Suite 330, Boston, MA 02111-1307, USA, or go to
22http://www.gnu.org/copyleft/lesser.txt.
23-----------------------------------------------------------------------------
24*/
25
26#if !defined(__OGREMAX_MATERIAL_EXPORTER_H__)
27#define __OGREMAX_MATERIAL_EXPORTER_H__
28
29#include "OgreMaxConfig.h"
30#include "OgreMaxExport.h"
31
32#include <string>
33#include <sstream>
34#include <queue>
35#include <map>
36#include <list>
37#include <iosfwd>
38
39//class Mtl;
40class IGameMaterial;
41
42namespace OgreMax {
43
44        //typedef std::map< std::string, Mtl* > MaterialMap;
45        typedef std::map< std::string, IGameMaterial* > MaterialMap;
46
47        class MaterialExporter  : public OgreMaxExporter
48        {
49
50        public:
51                MaterialExporter(const Config& config, MaterialMap& map);
52                virtual ~MaterialExporter();
53
54                // take in a list of INode* for assembly into Ogre::Mesh form; returns
55                // a map of filename --> XML stringstream.
56                bool buildMaterial(std::string& output);
57                bool buildMaterial(IGameMaterial *mtl, const std::string& matName, std::string &of);
58
59        protected:
60                // material file stream functions
61                bool streamPass(std::ostream &of, IGameMaterial *mtl);
62                bool streamMaterial(std::ostream &of);
63
64                std::string removeSpaces(const std::string &s);
65
66        private:
67
68                MaterialMap& m_materialMap;
69        };
70}
71
72#endif
Note: See TracBrowser for help on using the repository browser.