OpenSubdiv.OPENSUBDIV_VERSION.Bfr
OpenSubdiv.OPENSUBDIV_VERSION.Far
OpenSubdiv.OPENSUBDIV_VERSION.Osd
OpenSubdiv.OPENSUBDIV_VERSION.Sdc
OpenSubdiv.OPENSUBDIV_VERSION.Vtr

OpenSubdiv.OPENSUBDIV_VERSION.Bfr.SurfaceFactoryCache

概述

Bfr.SurfaceFactoryCache是OpenSubdiv库中的一个类,用于创建和缓存表面模型工厂对象。该类提供了一种更高效的方式来创建和获取表面模型工厂对象,同时避免了创建重复对象的开销。

构造函数

Bfr.SurfaceFactoryCache提供了如下构造函数:

SurfaceFactoryCache(max_table_size=4096, init_table_size=2048)

参数说明:

  • max_table_size:最大表格大小
  • init_table_size:初始化表格大小

成员函数

Clear()

清除表格缓存,释放内存。该函数会将之前缓存的所有表面模型工厂对象都销毁。

GetSurfaceFactory(schemeName, options)

获取表面模型工厂对象。如果表格中已经有相应的工厂对象,则直接返回,否则创建并添加到表格中。

参数说明:

  • schemeName:子图类型名称
  • options:选项

返回值: 返回一个指向找到或创建的表面模型工厂对象的指针。

GetPatchTableFactory(options)

获取子图工厂对象,用于构造子图表格。如果表格中已经有相应的工厂对象,则直接返回,否则创建并添加到表格中。

参数说明:

  • options:选项

返回值: 返回一个指向找到或创建的子图工厂对象的指针。

SetDefaultOptions(options)

设置默认的选项。这将对所有新创建的表面模型工厂对象和子图表格工厂对象生效。

参数说明:

  • options:选项

GetDefaultOptions()

获取默认选项。

返回值: 返回一个默认选项对象。

总结

Bfr.SurfaceFactoryCache是OpenSubdiv库中的一个实用类,提供了缓存表面模型工厂对象的功能,可以避免创建重复对象的开销,提高代码的效率。同时,该类还提供了较为完善的选项管理接口,支持自定义选项,具备较高的灵活性。