Здравствуйте!
У меня вопрос по методу SampleLineGroup.GetSampleLineIds(Double, Double). Этот метод позволяет найти нужную ось сечения, принадлежащую группе, по указанию пикета трассы и точности поиска. Но, на мой взгляд, у него есть довольно нелогичная (а главное - недокументированная!) особенность, которая мне много нервов попортила.
Предположим, что трасса имеет конечный пикет 25.0. В конце трассы располагается объект Structure. Я вычисляю его пикетаж по трассе. В результате, значение вычисленного пикетажа колодца-структуры у меня может получиться 25.00001 (например, из-за погрешности операций с плавающей точкой). Далее, мне нужно проверить, есть ли ось сечения в этом пикетаже. Казалось бы, что может быть проще при наличии такого метода? Зная про погрешности вычисления, я задаю допуск 0.001 и пробую искать.
Но, запросив SampleLineGroup.GetSampleLineIds(25.00001, 0.001) я получаю исключение - значение пикета выходит за рамки трассы! Какой бы там ни был допуск - хоть 3000, на ситуацию это не повлияет.
Как вы считаете, является это багом или это вполне нормальное поведение?