| worldDraw() 函数 该函数是可绘制对象显示自身的主要机制。在此回调中,可绘制对象使用 和 接口告诉 AcGi 实现此可绘制对象应如何在所有活动视口中表示。对于特定于某些视口的信息,将提供回调(请参阅 viewportDraw() 函数)。 worldDraw()AcGiSubEntityTraitsAcGiWorldGeometryviewportDraw() 该函数采用指向对象的指针。 是 AcGi 几何体和特征对象的容器类。具体而言,包含另外两个对象:AcDbEntity::subWorldDraw()AcGiWorldDrawAcGiWorldDrawAcGiWorldDraw 
 可以使用函数从内部访问对象,也可以使用函数访问对象。AcGiWorldGeometrysubWorldDraw()AcGiWorldDraw::geometry()AcGiSubEntityTraitsAcGiWorldDraw::subEntityTraits() 该对象使用其一组图形图元将矢量写入 AutoCAD 的显示。基元是用于绘制图形实体的最低级指令。世界几何对象具有以下函数,用于在世界坐标中绘制基元,这些基元继承自 :AcGiWorldGeometryAcGiGeometry 
 draw 方法允许您指定要用作几何体一部分的另一个可绘制对象。这可能是另一个实体或内存中的可绘制对象。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)
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1   苏公网安备32011402011833)
GMT+8, 2025-10-31 14:35
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.