文章目录
- 一、简介
- 二、实现代码
- 三、实现效果
- 参考资料
一、简介
通常,网格读取器和写入器例程是直接根据它们支持的数据结构和各自的文件格式编写的。这种方法的主要缺点是针对不同的数据结构或添加另一种文件格式会导致代码重复。因此OpenMesh提供了另一种做法,添加一个
中间者
:IOManager,该类型通过将通过读写器和导入器模块的中间类型,方便了储存数据到数据结构的转换过程。如下图所示:
从上图不难看出,任意格式的数据首先由读取器模块进行读取,然后通过指定的接口将数据传递给目标数据结构的导入器模块。写入数据的过程与此类似,整个过程由IOManager控制。读写模块对用户是不可见的,但是必须显式地指定进口/出口,因为它们特定于数据结构 。
这样做的主要好处是:可以将数据结构和储存数据完全分离,使得维护现有代码和扩展两端的功能变得特别容易
。
二、实现代码