默认情况下,块插入内部的光源显示是启用的,并且 Teigha 渲染会考虑它们。但是大型图纸可能包含许多光源,这会严重降低渲染性能。例如,一个建筑图纸可能包含一个带有房间的建筑物,房间里有灯具,每个灯具都可以作为块插入创建并包含一个光源。在这种情况下,应用程序可以禁用块插入中光源的渲染,以提高渲染性能,并且只显示放置在层次结构顶层的光源。
对于 .dwg 数据库,您可以调用“LIGHTSINBLOCKS”系统变量来启用/禁用块内光源的显示:
void disableLightsInBlocks(OdDbDatabase *pDb)
{
pDb->setLIGHTSINBLOCKS(0);
}
程序上,应用程序可以使用 OdGsModel::setEnableLightsInBlocks 方法控制图形缓存部分中块内光源的显示:
void disableLightsInBlocks(OdGsModel *pGsModel)
{
pGsModel->setEnableLightsInBlocks(false);
}
包含四个块插入内部灯光的图纸示例:
禁用块插入内部灯光显示的相同图纸示例: