Manifold Geometry // Многообразная Геометрия

Злобно про это твое портирование

/ Просмотров: 778
Якут и релиз ноты.

Портирование на новые версии любой библиотеки — само по себе занятие безблагодатное. И вот что я имею тебе рассказать про портирование от одной минорной версии (7.4) на не столь уж далекую 7.6:

  1. Перестало корректно работать преобразование цветовой палитры. Теперь, при чтении файлов формата STEP, мы получаем не оригинальные компоненты интенсивности (r,g,b), а какую-то чуднУю палитру sRGB, которая не используется в САПР вообще никак и нигде. На мой взгляд, OpenCascade — это все-таки низкоуровневая библиотека, и она должна читать данные as-is, то есть не интерпретировать их согласно соображениям встроенного модуля визуализации (AIS). Еще заметь — топовые САПР, такие как Fusion 360, читают данные интенсивности цвета без каких-либо преобразований (хвала Тенри).
  2. RGB как оно есть во Fusion 360.
    Вот так стали выглядеть цвета после портирования Analysis Situs.
  3. Нарушена совместимость по формату BREP. Вообще-то, «новая» модель данных ядра ничем не отличается от старой. Это ты легко выяснишь, если попробуешь поменять заголовок в файле формата BREP, не меняя самих данных — оно прочитается нормально. В целом, проблема поруганного BREP напрягает неиллюзорно, вплоть до назревшей необходимости сделать форк каскада, чтобы вставить туда нехитрый костыль.

  4. Новые проблемы с транзакциями в OCAF. Соответствующий баг 0031748: Application Framework - Efficient OCAF transactions in OCCT ты не прочитаешь — нам с тобой туда доступ закрыт. Таким образом, в чем был смысл и мотивы этих изменений мне неведомо. В руководство по портированию можешь не заглядывать — там тоже ни слова.

Помнится, когда-то году в 2014 аз многогрешен занимался искренней апологетикой ядра, сетуя на то, что сообщество, мол, лезет в библиотеку, ничего в ней не понимая, да еще имеет наглость критиковать вендора за первое, второе и шашнадцатое. Ты еще тогда решил, что я так пиарюсь, ага. Теперь же, глядучи на все это благолепие, так сказать, снаружи, я «начинаю что-то подозревать». Почему изменения геометрического ядра вместо повышения страдающей надежности операторов моделирования направлены на раскидывание грабель там, где их ну никак не ожидаешь? Зачем ломать то, что всегда работало? Как связаны изменения в визуализации с регрессиями в модуле обмена данными? Не знаешь? Вот и я не знаю.

Упдате: данный пост был многократно отредактирован в целях максимального снижения концентрации желчи.

Want to discuss this? Jump in to our forum.