Триангуляция 2D многоугольника - Helix Toolkit - PullRequest
0 голосов
/ 23 марта 2019

Я новичок в наборе инструментов Helix.

Я хотел бы триангулировать 2D-многоугольник с помощью метода AddPolygonByTriangulation () (или другого), включенного в инструментарий. Все мои многоугольники плоские (крыши зданий).

Моя проблема в том, что я не могу найти способ сделать это правильно. Мой ввод - простая коллекция PointCollection из 2D многоугольника .

Я пытался сделать это, используя AddPolygon () метод

Вот мой код (хотя я думаю, что он не очень полезен):

leP.Points = B.PolygoneAssocie.Points; //Getting points from an external Polygon object.

            foreach (Point Poi in leP.Points)
            {
                ptsToit.Points.Add(new Point3D(Poi.X , Poi.Y, B.Hauteur)); //making them 3D

            }
            meshBuilder.AddPolygon(ptsToit.Points); //add them to the MB

... но я вижу визуальные артефакты, как вы видите:

Захват

Я думаю, что я должен "преобразовать" точки многоугольника в вершины, чтобы получить триангуляцию многоугольника, а затем правильно добавить его в мою сцену.

Но я не знаю, как получить этот список вершин из моей коллекции PointCollection.

Я видел много примеров с такими полигонами.

Что я делаю не так? Как эта простая операция может быть такой сложной?

Заранее спасибо за помощь.

M

...