C3D Kernel  104065
Открытые члены
Класс MbCollisionDetectionUtility

Утилита расчета параметров пересечения и близости тел. Подробнее...

Полный список членов класса

Открытые члены

cdet_item AddItem (const MbSolid &solid, const MbPlacement3D &place, cdet_app_item appItem=CDET_APP_NULL)
 Добавить твердое тело с заданным положением в набор для контроля столкновений.
void RemoveItem (cdet_item cdItem)
 Удалить геометрический объект из набора для контроля столкновений.
void Reposition (cdet_item, const MbPlacement3D &)
 Поменять текущее положение геометрического объекта в наборе.
cdet_result CheckCollisions (cdet_query &cdQuery=defaultQuery)
 Проверить соударения между геометрическими объектами набора.
cdet_app_item AppItem (cdet_item cdItem) const
 Выдать дескриптор клиентского приложения по дескриптору контрольного набора столкновений.
size_t AddLump (const MbLumpAndFaces &)
 Добавить модель тела, как набор граней и решеток.
cdet_item AddSolid (const MbLumpAndFaces &)
 Добавить модель тела, как набор граней и решеток.
cdet_item AddSolid (const MbSolid &, const MbPlacement3D &, cdet_app_item=CDET_APP_NULL)
 Добавить тело с заданным положением.
void RemoveSolid (cdet_item)
 Удалить твердотельную модель из детектора столкновений.
size_t Count () const
 Выдать количество добавленных твердотельных моделей.
cdet_app_item Component (size_t solIdx) const
size_t SolidIndex (cdet_item cItem) const
 Номер твердотельной модели, зарегистрированной в детекторе.
cdet_result DistanceQuery (MbProximityParameters &minDist) const
 Вычисление минимального расстояния между объектами (см.функцию SetDistanceComputationObjects(...))
void FlushSolids ()
 Выключить из рассмотрения все модели.
cdet_item GetHRepSolid (const MbLumpAndFaces &) const
 Выдать иерархическое представление тела (NULL = отсутствие такового в списке)
void SetApproxCollisionQuery (bool ff)
 Вкл./выкл. приближенного вычисления пересечений тел
void SetApproxDistanceComputation (bool ff)
 Вкл./выкл. приближенного вычисления параметров близости - по триангуляции
void SetDistanceComputationObjects (const MbLumpAndFaces &comp1, const MbLumpAndFaces &comp2)
 Назначить объекты слежения для контроля за расстоянием между ними
void SetPlacement (size_t solIdx, const MbPlacement3D &)
 Обновить текущее положение тела с индексом solIdx.
 OBVIOUS_PRIVATE_COPY (MbCollisionDetectionUtility)
cdet_result InterferenceDetect (void *formalPar=NULL) const

Подробное описание

Предоставляет функциональность Collision Detection для взаимодействия с приложением САПР.

Внимание:
Для гарантированно правильной работы детектора необходимо, чтобы объект типа MbLumpAndFaces, добавляемый в рассмотрение посредством функции AddSolid, имел правильную матрицу преобразования в мир в настоящем его положении, т.е. с самого начала.

Методы

cdet_item MbCollisionDetectionUtility::AddItem ( const MbSolid solid,
const MbPlacement3D place,
cdet_app_item  appItem = CDET_APP_NULL 
)
Возвращает:
Дескриптор объекта для контроля столкновений.
size_t MbCollisionDetectionUtility::AddLump ( const MbLumpAndFaces )
Возвращает:
Индекс добавленной твердотельной модели.
cdet_item MbCollisionDetectionUtility::AddSolid ( const MbLumpAndFaces )
Возвращает:
Внутренняя структура данных представляющая добавленную модель.

Объявления и описания членов класса находятся в файле:
 Указатель Классы Пространства имен Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Макросы