在对象中使用可绘制对象
除了预定义的基元之外,您还可以在 和 实现中利用抽象对象。任何支持该协议的对象都可以用作子对象。由于派生自 ,因此任何数据库对象都可以以这种方式使用,如果它有意义的话。subWorldDraw()subViewportDraw()AcGiDrawableAcDbObjectAcGiDrawable 可绘制对象不必是图形的。例如,可绘制对象可能仅将子实体特征设置为特定组合,而不实现或根本不实现。suWorldDraw()subViewportDraw() 此体系结构允许开发人员更有效地分发渲染代码。例如,的实现只是将插入转换推送到堆栈上,调用传入指向其的指针并弹出矩阵堆栈。of 遍历定义中的实体。这种技术的好处是,给定实体的图形只需要生成一次,并且可以缓存在对象上,并有效地重用于后续引用。worldDraw()AcDbBlockReferencedraw()AcDbBlockTableRecord,worldDraw()AcDbBlockTableRecord 危险:任何传入的可绘制对象的寿命必须等于或超过外部对象的寿命。这是必需的,因为可绘制对象的图形可能缓存在连接到可绘制对象的附件中。在显示过程中,图形系统可能会返回以获取此缓存,如果对象已被销毁,则将发生运行时错误。draw()AcGsNode
父主题: |
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-3-14 07:31
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.