迭代器
每个符号表都有一个相应的迭代器,您可以使用该函数创建该迭代器。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()
父主题: |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-19 06:42
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.