WPF: как извлечь позиции сетки из 2 Model3D для проверки на столкновение?

#wpf #collision #intersection

Вопрос:

В сцене WPF у меня есть 2 Model3D в GroupModel3D: один Model3D-это инструмент, другой-заготовка, и я хочу проверить, когда они соприкасаются. Чтобы проверить, когда они соприкасаются, мне нужно проверить каждую координату модели 1, чтобы определить, пересекаются ли они с треугольниками модели 2. Проблема состоит в том, чтобы получить положения — то есть координаты — треугольников модели 1 и модели 2. Сетки легко извлекаются из GeometryModel3D. Но мне нужно преобразовать Model3D в GeometryModel3D, чтобы добраться до сеток, или же преобразовать Model3D в MeshGeometry3D.

Например, приведенный ниже код не принимается, поскольку дочерние элементы MyGlobalGroup3D являются элементами Model3D, которые не могут быть преобразованы в GeometryModel3D.

 Dim imodel1 As GeometryModel3D = TryCast(MyGlobalGroup3D.Children.Item(indexWork), GeometryModel3D) Dim imodel2 As GeometryModel3D = TryCast MyGlobalGroup3D.Children.Item(indexTool), GeometryModel3D)  

У кого-нибудь есть предложение ?