C3D Toolkit  Kernel - 113946, Vision - 2.6.3.80
+ Граф связей класса Определение столкновений:

Классы

struct  cdet_query
 Структура данных и обратных вызовов для запроса на поиск соударений. Базовый класс, предназначенный для реализации на стороне приложения структуры запроса к алгоритму поиска соударений. С помощью обратных вызовов приложение управляет поиском соударений и получает сведения o найденных пересечениях. Подробнее...
 
struct  cdet_collided_faces
 Структура запроса для поиска граней столкновения. Подробнее...
 
class  MbCollisionDetectionUtility
 Утилита расчета параметров пересечения и близости тел. Подробнее...
 

Определения типов

typedef const MbHRepSolid * cdet_item
 Объект из набора контроля столкновений.
 
typedef MbResultType cdet_result
 Код результата контроля столкновений.
 
typedef const MtRefItemcdet_bvt_node
 Узел дерева объемов.
 
typedef std::pair< cdet_bvt_node, cdet_bvt_nodecdet_bvt_pair
 Пара ветвей поддерева объемов.
 

Функции

MbResultType InterferenceSolids (MbSolid &solid1, MbSolid &solid2, std::vector< MbCurveEdge * > *edges, c3d::IndicesPairsVector *intersectedFaces, c3d::IndicesPairsVector *similarFaces, c3d::IndicesPairsVector *touchedFaces)
 Расчет пересечений тел посредством аппарата булевой операции. Подробнее...
 
cdet_bvt_pair BvtSubNodes (cdet_item, cdet_bvt_node)
 Получить левую и правую ветви поддерева объемов.
 
void GetOrientedBox (cdet_item, cdet_bvt_node, MbMatrix3D &)
 Матрица получения ограничивающего параллелепипеда из единичного куба.
 
cdet_result MbCollisionDetectionUtility::CheckCollisions ()
 Проверить соударения между геометрическими объектами набора. Подробнее...
 

Переменные

const cdet_item CDET_NULL = c3d_null
 Пустой объект набора для контроля столкновений.
 
const cdet_app_item CDET_APP_NULL = c3d_null
 "Нулевой" объект модели приложения.
 
const cdet_bvt_node CDET_BVT_NULL = c3d_null
 Пустое дерево объемов.
 

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

Функции

◆ InterferenceSolids()

MbResultType InterferenceSolids ( MbSolid solid1,
MbSolid solid2,
std::vector< MbCurveEdge * > *  edges,
c3d::IndicesPairsVector intersectedFaces,
c3d::IndicesPairsVector similarFaces,
c3d::IndicesPairsVector touchedFaces 
)

Расчет пересечений тел посредством аппарата булевой операции.

Расчет пересечений тел посредством аппарата булевой операции.

Аргументы
[in]solid1- Первое тело.
[in]solid2- Второе тело.
[out]edges- Ребра пересечения тел.
[out]intersectedFaces- Пары номеров пересекшихся граней.
  • Пары номеров касающихся граней с противоположно направленными нормалями.
[out]similarFaces- Пары номеров касающихся подобных граней, которые могут быть объединены.
Возвращает
Код результата операции.
Предупреждения
Тела будут изменены операцией! Если требуется сохранить тела без изменений, передавайте копии, сделанные помощью MbSolid::Duplicate().

◆ CheckCollisions()

cdet_result MbCollisionDetectionUtility::CheckCollisions ( )
inline

Проверить соударения между геометрическими объектами набора.

Возвращает
Функция вернет CDET_RESULT_Intersected при обранужении хотя бы одной коллизии.