ObjectARX, AutoCAD. Среда программирования библиотеки C++

         

Индексы и Фильтры


Индекс и классы фильтра и функции обеспечивают схему приложений, чтобы определить заказные индексы и заказную фильтрацию блочных данных. Приложение может определять его создания заказных ИС AcDbFilter, AcDbIndex, и AcDbFilteredBlockIterator. Это регистрирует AcDbFilter с блочной ссылкой{*справочниками*} через AcIndexFilterManager:: addFilter (), и AcDbIndex с соответствующим блочным отчетом{*записью*} таблицы через AcIndexFilterManager:: addIndex (). После того, как это, regens таблиц перекрестных ссылок и блоков будет уважать запрос, определенный AcDbFilter, и использовать AcDbFilteredBlockIterator, чтобы решить то, что объект IDs будет обработан в течение перегенерального. Индексы будут сохраняться современными через или приложением, явно вызывающим AcIndexFilterManager:: updateIndexes (), или приложение может полагаться на AutoCAD, сохраняют{*экономят*} операцию, вызывающую AcIndexFilterManager:: updateIndexes () на сохраняемом AcDbDatabase.

AcDbIndex:: rebuildFull () или AcDbIndex:: rebuildModified () вызывается в течение AcIndexFilterManager:: updateIndexes () запрос.

Текущее использование схемы индексации в AutoCAD - быстрая загрузка запроса подрезанных таблиц перекрестных ссылок. Пространственный индекс (объект AcDbSpatialIndex) сохранен в рисунке refed. Объект AcDbSpatialFilter определяет том{*объем*} зажима блочной ссылки{*справочников*} к таблице перекрестных ссылок в ведущем рисунке. Когда загрузка запроса включена для таблицы перекрестных ссылок, пространственный том{*объем*} фильтра используется, чтобы пересечь данные таблицы перекрестных ссылок через пространственный индекс, чтобы к странице в от DWG файла только те объекты, чей графика пересекает том{*объем*} зажима.

Эти классы и функции обеспечивают интерфейс для:

  • N Модифицирующие индексы
  • N Добавление и удаление индексов, чтобы блокировать отчеты{*записи*} таблицы
  • N Добавление и удаление фильтров, чтобы блокировать ссылки{*справочники*}
  • N Запрос для индексов от блочных отчетов{*записей*} таблицы
  • N Запрос для фильтров от блочных ссылок{*справочников*}
  • N Выполняющий итерации через блокируют отчеты{*записи*} таблицы и посещение только подмножество объектов
  • Основные классы и вовлеченные функции

  • N AcDbIndexFilterManager namespace
  • N AcDbIndex класс
  • N AcDbFilter класс
  • N AcDbFilteredBlockIterator класс
  • N AcDbCompositeFilteredBlockIterator класс


  • Содержание раздела