CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2020 开发者帮助

迭代器

2024-5-18 18:25| 发布者: admin| 查看: 108| 评论: 0|原作者: admin|来自: 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,则从表的末尾开始。如果参数为 true,则迭代器最初位于第一个(或最后一个)未擦除的记录上;如果为 false,则它位于第一个(或最后一个)记录处,无论它是否已被擦除。有关每个迭代器类可用的函数的描述,请参阅 ObjectARX 参考newIterator() pIteratoratBeginningskipErased

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

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

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

父主题:

  1. 符号表

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2025-1-19 06:42

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部