C3D Toolkit  Kernel - 105122, Vision - 0.181114.105122

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

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

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
 Выдать количество добавленных твердотельных моделей.
 
size_t SolidIndex (cdet_item cItem) const
 Номер твердотельной модели, зарегистрированной в детекторе.
 
cdet_result DistanceQuery (MbProximityParameters &minDist) const
 Вычисление минимального расстояния между объектами (см.функцию SetDistanceComputationObjects(...))
 
void FlushSolids ()
 Выключить из рассмотрения все модели.
 
cdet_item GetHRepSolid (const MbLumpAndFaces &) const
 Выдать иерархическое представление тела (NULL = отсутствие такового в списке).
 
void SetTouchTolerance (double lTol)
 Задать барьер для отличия касания от пересечения.
 
void SetApproxCollisionQuery (bool ff)
 Вкл./выкл. приближенного вычисления пересечений тел
 
void SetApproxDistanceComputation (bool ff)
 Вкл./выкл. приближенного вычисления параметров близости - по триангуляции
 
void SetDistanceComputationObjects (const MbLumpAndFaces &comp1, const MbLumpAndFaces &comp2)
 Назначить объекты слежения для контроля за расстоянием между ними
 
void SetPlacement (size_t solIdx, const MbPlacement3D &)
 Обновить текущее положение тела с индексом solIdx.
 

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

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

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

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

Методы

◆ AddItem()

cdet_item MbCollisionDetectionUtility::AddItem ( const MbSolid solid,
const MbPlacement3D place,
cdet_app_item  appItem = CDET_APP_NULL 
)

Добавить твердое тело с заданным положением в набор для контроля столкновений.

Возвращает
Дескриптор объекта для контроля столкновений.

◆ AddLump()

size_t MbCollisionDetectionUtility::AddLump ( const MbLumpAndFaces )

Добавить модель тела, как набор граней и решеток.

Возвращает
Индекс добавленной твердотельной модели.

◆ AddSolid()

cdet_item MbCollisionDetectionUtility::AddSolid ( const MbLumpAndFaces )

Добавить модель тела, как набор граней и решеток.

Возвращает
Внутренняя структура данных представляющая добавленную модель.

Объявления и описания членов класса находятся в файле: