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