ну вот видите, все гораздо проще, чем казалось бы. )))А оставшиеся две и не нужно вычислять Две точки по диагонали - необходимое и достаточное условие для выбора всего, что внутри.
для этого достаточно двух дырок в интерфейсе, в которые вводятся координаты через пробел, как они прописаны в миссии, типа:Повторяю: нужно только каким-то образом указать программе эти точки.
136525.49 107616.61
135914.21 107396.02
и договориться, какой из углов будет левым нижним, а какой правым верхним.
да, еще будет полезна ренумерация (и в основной части проги, кстати, тоже) - если происходит вырезка в новый файл, то должно быть поле, в котором вводится начало нумерации, если таковое пусто - значит нумерация без изменений.
еще в нашей проге была принудительная смена принадлежности (или восстановить/разрушить для зданий) - так же как и с нумерацией - если поле не пусто, то всему фрагменту присваивается нужная принадлежность (1 или 2).
сорри, если у вас это все уже сделано, тогда я зря распинаюсь.
вечерком мог бы выслать нашу утилиту посмотреть - она совсем не интуитивная и работает только с текстовым полем, зато простая и если вам понравятся ее функции, вы могли бы встроить их в свою утилиту, и тогда будет очень здорово.