osgDB.ReaderWriterInfo
是一个OpenSceneGraph库中的类,用于描述 osgDB::ReaderWriter
所支持的文件格式信息。
一个 osgDB::ReaderWriter
对象处理特定的文件格式(e.g., .obj
,.png
),一个文件格式可能被多个 ReaderWriter
支持。osgDB.ReaderWriterInfo
对象用于表示这些支持该格式的 ReaderWriter
以及它们支持该格式的程度。
// 构造函数
ReaderWriterInfo();
ReaderWriterInfo(const ReaderWriterInfo& rhs);
// 设置和获取文件格式
void setExtension(const std::string& ext);
const std::string& getExtension() const;
// 添加和获取支持该格式的 ReaderWriter 信息
void addReaderWriter(ReaderWriter* rw, float priority = 0.0f, bool plugin = false);
ReaderWriter* getReaderWriter() const; // 获取优先级最高的 ReaderWriter
bool supportsReaderWriter(ReaderWriter* rw) const;
// 设置和获取该设置的优先级和是否为插件
void setPriority(float priority);
float getPriority() const;
void setPlugin(bool plugin);
bool getPlugin() const;
// 构造函数
osgDB::ReaderWriterInfo rwInfo;
// 设置和获取文件格式
rwInfo.setExtension(".obj");
std::string ext = rwInfo.getExtension();
// 添加和获取支持该格式的 ReaderWriter 信息
rwInfo.addReaderWriter(new osgDB::ObjReaderWriter, 1.0f);
osgDB::ReaderWriter* rw = rwInfo.getReaderWriter();
bool support = rwInfo.supportsReaderWriter(rw);
// 设置和获取该设置的优先级和是否为插件
rwInfo.setPriority(0.5f);
rwInfo.setPlugin(true);
float priority = rwInfo.getPriority();
bool isPlugin = rwInfo.getPlugin();