Message 1 of 3
Is reverse entity iteration supposed to work?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
The documentation led me to try this:
AcDbDatabase* db = acdbHostApplicationServices()->workingDatabase();
AcDbBlockTable* blockTable = nullptr;
if (db->getBlockTable(blockTable, AcDb::kForRead) == Acad::eOk)
{
AcDbBlockTableRecord* modelSpace = nullptr;
if (blockTable->getAt(ACDB_MODEL_SPACE, modelSpace, AcDb::kForRead) == Acad::eOk)
{
AcDbBlockTableRecordIterator* iter_f = nullptr;
AcDbBlockTableRecordIterator* iter_r = nullptr;
modelSpace->newIterator(iter_f, true);
modelSpace->newIterator(iter_r, false);
AcDbEntity* ent1 = nullptr;
AcDbEntity* ent2 = nullptr;
iter_f->start();
iter_r->start();
iter_f->getEntity(ent1, AcDb::kForRead);
iter_r->getEntity(ent2, AcDb::kForRead);
if (ent1 == ent2)
{
int i = 0;
}
}
}
Both iterators return the same entity. Have I misunderstood something? Or is there a better way to get the last entity created?