CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ObjectARX 开发指南

相关分类

迭代器

2023-1-1 03:38| 发布者: admin| 查看: 310| 评论: 0|来自: AutoCAD

每个符号表都有一个相应的迭代器,您可以使用函数创建该迭代器。AcDb##BASE_NAME##Table::newIterator()

Acad::ErrorStatus 
AcDb##BASE_NAME##Table::newIterator(
    AcDb##BASE_NAME##TableIterator*& pIterator,
    bool atBeginning = Adesk::kTrue,
    bool skipErased = Adesk::kTrue) const;

该函数创建一个可用于单步执行表内容的对象,并设置为指向迭代器对象。如果为 true,迭代器从表的开头开始;如果为 false,则从表的末尾开始。如果参数为真,则迭代器最初位于第一个(或最后一个)未擦除的记录;如果为 false,则将其定位在第一条(或最后一条)记录中,无论它是否已被擦除。有关可用于每个迭代器类的函数的说明,请参阅ObjectARX 参考newIterator() pIteratoratBeginningskipErased

创建新的迭代器时,您还负责删除它。在删除符号表构造的所有迭代器之前,不应关闭该表。

除了符号表之外,块表记录还有一个迭代器,用于对其拥有的实体进行操作。Theclass 返回一个类的对象当您要求它提供新的迭代器时。此迭代器使您能够单步执行块表记录中包含的实体并查找特定实体。AcDbBlockTableRecordAcDbBlockTableRecordIterator

注意:使用后必须删除迭代器。任何未删除的运算符都将在数据库关闭时导致断言。传递对指针的引用,或实现自己的方法。 acdbFree()delete()

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-19 15:28

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部