📄 materialpalettemanager.h
字号:
/* * This library is open source and may be redistributed and/or modified under * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or (at * your option) any later version. The full license is in the LICENSE file * included with this distribution, and on the openscenegraph.org website. * * This library is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * OpenSceneGraph Public License for more details.*///// Copyright(c) 2008 Skew Matrix Software LLC.//#ifndef __FLTEXP_MATERIAL_PALETTE_MANAGER_H__#define __FLTEXP_MATERIAL_PALETTE_MANAGER_H__ 1#include "ExportOptions.h"#include <map>namespace osg { class Material;}namespace flt{class DataOutputStream;class MaterialPaletteManager{ public: MaterialPaletteManager( ExportOptions& fltOpt ); // Add a material to the palette and auto-assign it the next available index int add(osg::Material const* material); // Write the material palette records out to a DataOutputStream void write( DataOutputStream& dos ) const; private: int _currIndex; // Helper struct to hold material palette records struct MaterialRecord { MaterialRecord(osg::Material const* m, int i) : Material(m) , Index(i) { } osg::Material const* Material; int Index; }; // Map to allow lookups by Material pointer, and permit sorting by index typedef std::map<osg::Material const*, MaterialRecord> MaterialPalette; MaterialPalette _materialPalette; ExportOptions& _fltOpt;};} // End namespace fltexp#endif // !FLTEXP_MATERIAL_PALETTE_MANAGER_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -