Тема: Как получить все объекты попадающие внутрь области?

Вечныей вопрос который часто задается.
Задача у меня заключается в следующем - есть некий объект A. Мне необходимо найти все объекты, которые "накрываются с пересечением" объектом А вдоль вектора направления AcGeVector3d direction.
Самое нехитрое решение:
Перебрать все объекты на плане и сделать this->IntersectWith( pEnt, ... AcGePlane(AcGePoint(0,0,0), direction) );
Однако это решение очень нехитрое в плане быстродействия. Так как приходится перебирать ВСЕ объекты. Множество можно было как то снизить. У объекта А можно попросить его экстеншен, после этого получить все объекты которые попадают в его проекцию и проверять пересечение только для этих объектов.
Есть метод, acedSSGet , который может вернуть объекты попадающие внутрь или пересекаемые прямоугольником/многоугольником. Работает достаточно быстро.
Однако, он имеет недосток, что нельзя указать вектор вдоль которого желаем получить объекты.
Вопрос кто-нибудь знает как получить все объекты попадающие внутрь прямоугольной области вдоль некоторого заданного вектора direction???

Re: Как получить все объекты попадающие внутрь области?

Здравствуйте, господа!
Я хочу еще раз поднять этот вопрос.

Есть метод, acedSSGet , который может вернуть объекты попадающие внутрь или пересекаемые прямоугольником/многоугольником. Работает достаточно быстро.
Однако, он имеет недосток, что нельзя указать вектор вдоль которого желаем получить объекты.

Какой ответ на второй абзац? Направление, вдоль которого выполняется выборка.
с уважением,
dangee

Re: Как получить все объекты попадающие внутрь области?

Ответа, вообщем так и нет.
Суть в том, что acedSSGet - это метод editora... т.е. собственно редактора AutoCAD и он использует информацию при отрисовке в документе, чтоб оперативно получить SS.
В общем случае есть просто AcDbDatabase с объектами, которая может быть открыта без документа (без визуального отображения). И быстро, получить инфу, кто кого перекрывает по вектору направления - можно лишь только перебором, ускорив этот процесс лишь предварительным анализом экстеншинов...
Посему если хочешь чтоб при отрисовке твоих объектов что-то "хитро рисовалось" и дергать по 100раз в секунду нахождение пересечений - то это тупиковая ветка.
Можно сделать методу, которая будет "долго шуршать" и выдавать тебе то что надо, т.е. если быстродействие не критично, то перебирай объекты.