函数是可绘制对象显示自身的主要机制。在此回调中,可绘制对象使用 theand接口告诉 AcGi 实现应在所有活动视口中如何表示此可绘制对象。对于特定于某些视口的信息,提供了回调(请参阅viewportDraw() 函数)。 worldDraw()AcGiSubEntityTraitsAcGiWorldGeometryviewportDraw() 该函数采用一个指针,用于为 AcGi 几何图形和特征对象 anobject.is 容器类。具体来说,包含另外两个对象:AcDbEntity::subWorldDraw()AcGiWorldDrawAcGiWorldDrawAcGiWorldDraw
可以使用函数从内部访问对象,也可以使用函数访问对象。AcGiWorldGeometrysubWorldDraw()AcGiWorldDraw::geometry()AcGiSubEntityTraitsAcGiWorldDraw::subEntityTraits() 对象使用其绘图基元集将矢量写入 AutoCAD 的显示。基元是用于绘制图形实体的最低级指令。世界几何对象具有以下函数,用于在世界坐标中绘制基元,这些基元继承自:AcGiWorldGeometryAcGiGeometry
绘制方法允许您指定另一个可绘制对象以用作几何图形的一部分。这可能是另一个实体或内存中的可绘制对象。AcGi 在此对象上使用与对象相同的 、 和逻辑。 setAttributes()worldDraw()viewportDraw() 对象使用其特征函数集设置图形属性值:AcGiSubEntityTraits
传递的对象应与相应的“图形模型”一样长。如果您希望重用,则应通过它委派对象,而不是使用。例如,下面的代码示例将产生错误:draw()worldDraw()draw() MyCustomObject::subWorldDraw(AcGiWorldDraw* draw) { AcDbCircle circle; draw->geometry().draw(&circle); } 相反,请使用 MyCustomObject::subWorldDraw(AcGiWorldDraw* draw) { AcDbCircle circle; circle.worldDraw(draw); } 或者也许 MyCustomObject::subWorldDraw(AcGiWorldDraw* draw) { //m_circle is a member of MyCustomObject draw->geometry().draw(&m_circle); } |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-8 19:26
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.