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