При предварительном формировании действия разреза на многоугольнике с помощью полилинии некоторые из возвращенных геометрий группируются, а другие - нет?
У меня есть простая программа, в которой пользователь может создать многоугольник с помощью SketchViewModel. Затем пользователь создает полилинию с помощью SketchViewModel. Затем я беру геометрию из каждого эскиза и делаю вырез из geometryEngine. Я получаю массив геометрических фигур из разреза и добавляю их к слою, удаляя исходный многоугольник и ломаную линию. Я ожидал получить каждую подразделенную часть индивидуально, но по какой-то причине некоторые сгруппированы вместе как одна геометрия, даже если они не связаны.
//polylineLayer and polygonLayer are graphiclayers
//submit is a html button to call the execution
submit.addEventListener("click", function() {
//subDivisions is an Geometry[] for the produced geometries
//ex. one line through a circle polygon would produce
// two geometries of each half. (this works)
// anything more complicated starts having grouping issues
// (see pictures)
var subDivisions =
geometryEngine.cut(polygonLayer.graphics.getItemAt(0).geometry,
polylineLayer.graphics.getItemAt(0).geometry);
polygonLayer.removeAll();
polylineLayer.removeAll();
//show the number of subdivisions
alert("size: " + subDivisions.length);
// add created geometries to the graphiclayer
for (var i = 0; i < subDivisions.length; i++){
tempGraphic = new Graphic ({
geometry: subDivisions[i]
});
polygonLayer.graphics.add(tempGraphic,i);
}
});
(извините за ссылки на фотографии, у меня нет 10 репутации для размещения фотографий, и это очень визуальный проект / проблема)
Открытый экран: https://ibb.co/WDcgmSn
Нарисуйте первый многоугольник: https://ibb.co/wd6CDbV
Нарисуйте полилинию, чтобы разрезать многоугольник: https://ibb.co/BG32863
Ожидаемые подразделения - 10 Фактическое - 7: https://ibb.co/0VMsHGg
Некоторые разделены на отдельные многоугольники: https://ibb.co/SKXCJR8
Другие нет: https://ibb.co/7WqNB9q
Все фрагменты: https://ibb.co/Pr0smrw