Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Release Notes

Boost , Chapter 1. Geometry , Chapter 1. Geometry

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Boost 1.62

Улучшения

  • SVG: повышение поддержки::вариант геометрии
  • SVG: координаты теперь пишутся как двойные (по умолчанию) для svg
  • Переименовать концепцию пространства имен в концепции, чтобы избежать конфликтов с новейшими компиляторами

Раскрыты билеты

  • 12189Относительные операции, не компилирующиеся, когда точечные типы входов различны
  • 12287Недействительный результат rtree.query() для содержит() предикат

Boost 1.61

Дополнительный функционал

  • Поддержка внутри и сквозная для Box/Box в сферических и географических системах координат.

Улучшения

  • Overlay: handle_tangencies заменяется кластерами, фиксируя многие случаи с помощью скопированных поворотов

Раскрыты билеты

  • 9162Недействительный результат реляционных операций для некартезианской Точки/Ареала.
  • 10866Union_ не работает в 1.56 и 1.57.
  • 11018Недействительное пересечение геометрии
  • 11576Пересечение дает неправильные результаты.
  • 11637Предупреждение о неиспользованных параметрах.
  • 11725Союз_ не создает отверстий
  • 11789Неисправность или недействительный результат заданных операций для сферической_экваториальной системы координат.
  • 11917Стратегия расстояния Андойера возвращает 0 для противоподальных точек (по умолчанию географическое расстояние).
  • 11928Повышение точности геодезической стратегии.
  • 11966Ошибка компиляции в svg() для квадратного и неинт-координатного типа.
  • 11984Union_() генерирует самопересекающийся многоугольник
  • 11987rtree::remove() not compiling for geographic CS.
  • 12000Неинициализированная ссылка в (неиспользуемом) конструкторе реляционной маски.
  • 12106Недействительный отказ утверждения в конверте () для некартезианских очень коротких сегментов.

Багфиксы

  • Фиксация пересекается и разъединяется для Сегмента/Бокса в картезианской системе координат, когда Сегмент параллелен лицу Бокса.
  • Операции фиксации отношений для Point/Areal в сферических и географических системах координат для краевых случаев.
  • Для некоторых случаев фиксировать пересечения и разъединения для точек/боксов и боксов/боксов в сферических и географических системах координат.
  • Для некоторых случаев фиксировать внутри и покрывать_пойнт/бокс в сферических и географических системах координат.

Boost 1.60

Раскрыты билеты

  • 10803Алгоритм Союза возвращает неверную геометрию
  • 11522Столкновение пространства имен в буфере для признаков::
  • 11533Неисправность в дереве, вызванная ошибкой в удалении (), если число элементов мин составляет 1
  • 11607Частная геометрия:: исключение:: что()
  • 11709- простое сегфолт
  • 11710is_simple — пустая геометрическая логика
  • 11711является_простым и является_действительным - Точки, которые являются NaN или бесконечностью

Багфиксы

  • Исправьте колокации касания внутреннего кольца / внешнего кольца, где оно также касается другого полигона.
  • Исправление удаления значений из пустого rtree - никакого эффекта и 0 возврата вместо отказа утверждения
  • Исправление сегфолта в центроиде для многогеометрий, содержащих пустые одиночные геометрии (благодаря Джири Дрбалеку)
  • Исправьте стратегию liang_barsky для интегральных координат (спасибо Дэйну Спрингмайеру)

Boost 1.59

Дополнительный функционал

  • Добавлено rtree const_iterator, start(), end() и поддержка Boost. Диапазон.
  • Поддержка C++11<std::initializer_list>в моделях геометрии.
  • Разъединенные и пересекающиеся элементы поддерживают следующие комбинации геометрии: многоточечная/линейная струна, многоточечная/мультилинестрирующая.
  • Добавлены алгоритмы relate() и relation().
  • Пересечение реализовано для комбинаций точечных и линейных геометрий
  • Добавлена реализация для разницы (точечная, линейная)
  • Новый алгоритм пуст, возвращаясь истинным, если геометрия представляет пустой набор
  • Алгоритм оболочки поддерживает точечную и линейную геометрию в сферической экваториальной системе координат.
  • Алгоритм оболочки поддерживает точечные геометрии в системе географических координат.

Улучшения

  • Обновленная категория rtree const_query_iterator в ForwardIterator
  • Буферная производительность буферов вокруг нескольких точек значительно улучшена.

Переломные изменения

  • Стратегия буферной стороны теперь возвращает код ошибки вместо bool. Если у вас есть своя собственная стратегия, она должна быть адаптирована.

Раскрыты билеты

  • 11113Поддержка легкого перечисления всех элементов с помощью BOOST_ Внимание
  • 11232Особенность запроса - относятся()
  • 11236Недействительный результат центроида() для целочисленного типа координат
  • 11268Регрессия в бустере::геометрия::интерсекционный интерфейс с multi_linestring и box — не компилируется на 1.57 VS 1.55
  • 11332Неисправность в буфере для крайних разностей координат
  • 11346Итератор сегмента не работает с возвращающимися значениями диапазонов вместо ссылок
  • 11436sym_difference(py1, py2, mpy) возвращает недействительный мультиполигон

Багфиксы

  • Буфер: используйте более надежный способ вычисления стороны пересечения, это исправляет несколько ошибок в генерации буфера.
  • Зафиксируйте в выборе сегмента, к которому вычисляют из IP, на пересечении двух сегментов. Теперь выбирается тот, который находится близко к точке сегмента, или тот, который находится на самом коротком сегменте. Это позволяет избежать (редко встречающегося) образования крошечных треугольников, делающих вывод полигонов недействительным.
  • При масштабировании раунда вместо усечения до целочисленной сетки (это исправление и вышеупомянутое может оказать некоторое влияние на выходную геометрию)
  • Исправьте потенциальную бесконечную петлю подробно:has_spikes (петля может произойти, если пройденные точки имеют координаты NaN)

Boost 1.58

Дополнительный функционал

  • Новый алгоритм num_segments, возвращающий число сегментов геометрии
  • Новая перегрузка для алгоритма is_valid, который берет ссылку на строку в качестве второго аргумента и заполняет ее сообщением, связанным с достоверностью или недействительностью геометрии.
  • Новая перегрузка для алгоритма is_valid, который берет ссылку на enum в качестве второго аргумента и заполняет ее значением, связанным с достоверностью или недействительностью геометрии.
  • Разъединенные и пересекающиеся элементы поддерживают следующие геометрические комбинации: точка/многоточечная, многоточечная/многоточечная, многоточечная/сегментная, многоточечная/коробочная.

Улучшения

  • Буфер теперь поддерживает плоские концы для струн с изгибом, близким к началу (так, что буферный сегмент пересекает плоский конец).
  • Производительность буфера значительно улучшена
  • Производительность разделов значительно улучшена для многоугольников, потенциально улучшая все операции наложения

Раскрыты билеты

  • 8379Недействительное сравнение результата детерминанта
  • 10108Ошибка в операциях наложения в конкретных случаях, когда геометрия касается одной точки
  • 10201Предложение использовать разные функции для сравнения координат [wontfix]
  • 10467Имя параметра шаблона, совпадающее с макроимя B0, определенным в терминах. h
  • 10640Недействительный результат буфера() для полигонов КНО.
  • 10666Предупреждение компилятора MSVC C4127: условное выражение является постоянным
  • 10747Ошибка в масштабировании, приводящая к ошибкам в операциях с ареалом / ареалом
  • 10770Буфер выходит из строя на большие расстояния или грубые круглые соединения, где вогнутости, где не пересекаются должным образом
  • 10658sym_difference даёт плохой результат для внутриполигонов
  • 10835Различие многолинейности и многоугольника дает неправильный результат
  • 10861Rtree не может компилировать значение, будучи парой или кортежом, содержащим указатель на геометрию и используемый по умолчанию equal_to<>
  • 10863Имя параметра шаблона, совпадающее с макроимя B0, определенным в termios.h (дубликат 10467)
  • 10887Недействительный результат внутри() и относящийся() для линейного/мультиполигона
  • 10890Недействительный результат разъединения() для точки/сегмента.
  • 10904Недействительный расчет наиболее значительного измерения сегмента в стратегии relate_cartesian_segments
  • 10912Недействительный результат внутри() и относящийся() для Areal/Areal
  • 10951Тесты не работают на окнах с компилятором из-за отсутствия флага /bigobj.
  • 10957Утверждение о несостоятельности и недействительных результатах различных реляционных операций.
  • 10958Недействительные результаты разъединения () L/L и L/A.
  • 10959Неисправность утверждения в get_turns() используется без_rescale_policy.
  • 10960Недействительный результат get_turns() для L/A, пропущенный поворот.
  • 10961Недействительный результат get_turns() для L/A, недействительный поворот для линейного всплеска.
  • 11112Сбой компиляции на Solaris из-за столкновения имени CS (используется для макроса на этой платформе)
  • 11121Недействительный результат разности() для интегральных координат

Багфиксы

  • Буг в многоточечном / многоточечном / многополигонном вычислении расстояния (неправильное обнаружение точек внутри ареальной геометрии)
  • Ошибка в операторе назначения flatten_iterator, вызывающая нарушение доступа
  • Баг в картезианской стратегии пересечения сегмента-сегмента, когда один сегмент вырождается до точки и коллинеен к другому недегенеративному сегменту.
  • Баг в центроиде (), недетерминированный результат, если вычисляется, например, для полигона с нулевой площадью.
  • Баг в буферах для присоединений с ограниченным количеством баллов
  • Баг в буферах для круглых стыков с ограниченным количеством очков вокруг острых углов
  • Баг в буферах для соединений с большими буферными расстояниями
  • Баг в буферах для круглых концов с нечетным количеством очков
  • Баг в буферах для плоских концов с большими буферными расстояниями
  • Баг в буферах для внутренних колец с большими отрицательными буферными расстояниями
  • Bug in close_iterator не работает должным образом, когда входной диапазон пуст
  • Bug in is_simple, не обрабатывает должным образом закрытые простые строки в многостроках
  • Баг в строителях rtree, принимающий пару итераторов или диапазон (алгоритм упаковки), использование ссылки на уничтоженный временно, когда ссылка итератора не является истинной ссылкой, например, для некоторых адаптеров диапазона. Это также влияет на расстояние () и сопоставимое расстояние (). Эта ошибка может вызвать неожиданное поведение алгоритма rtree или distance(), например, сбой утверждения или SEGFAULT.
  • Bug in rtree count() member function, использование ссылки на уничтоженный временный, когда объект типа конвертируемый, но не такой, как value_type или indexable_type. Если это произойдет, неправильный результат может быть возвращен, в большинстве случаев 0.
  • Баги, связанные с обработкой диапазонов, препятствующие компиляции геометрий с использованием неконтейнерных диапазонов в некоторых алгоритмах (благодаря Сэмюэлю Дебионну)

Boost 1.57

Улучшения

  • Поддержка параметров, конвертируемых в значение_тип в функциях вставки (), удаления () и подсчета ().
  • Поддержка ввода/вывода против часовой стрелки в буфере алгоритмов
  • Поддержка ввода открытой геометрии в буфере алгоритмов (открытый вывод еще не поддерживается)
  • Поддержка вырожденного ввода (точечные строки, полигоны) в буфере алгоритма

Раскрыты билеты

  • 6443Неправильные выродившиеся корпуса, возвращенные convex_hull().
  • 8402Предупреждения о неявном преобразовании
  • 9354Ошибка в стратегии извилистости, затрагивающая внутри() и прикрыто_по() для некартовых систем координат
  • 10177Пропавшие без вести
  • 10345Расстояние не компилируется для некоторых типов координат.
  • 10398Неправильный сосед проверяет в буфере, вычисляя обороты
  • 10421Недействительное расстояние точки-бокса для сферической КС
  • 10562Недействительное количество точек в результате выпуклости_корпуса() для открытого вывода
  • 10615Запрос на функцию Rtree Constructioner
  • 10643Недействительный результат point_on_surface() для больших координат
  • 10647Недействительный результат разъединения () в некоторых случаях, когда полигон находится внутри внутреннего кольца другого полигона
  • 10668Предупреждения о неявном преобразовании (дублированные 8402)

Багфиксы

  • Несколько исправлений ошибок в буфере алгоритмов
  • Bug in point_on_surface() for CCW Polygons (extreme_points()) andnumerical issue (спасибо Мэтту Амосу)
  • Bug in disjoint() for A/A fixed by replacement of point_on_surface() with point_on_border() (перенаправлено с «Matt Amos»)
  • Результат convex_hull(), дублированный Точка на открытом выходе, слишком малое количество Точек для 1- и 2-точечного ввода
  • Неточность больших координат в центроиде(), фиксированная переводом баллов (связанным с билетом 10643)
  • для каждого сегмента () без учета последнего сегмента открытой геометрии

Boost 1.56

Дополнительный функционал

  • Новый буфер алгоритмов для надувания/дефляции геометрий (сам буфер уже существовал, но это было только для увеличения коробки)
  • Новый алгоритм для удаления шипов из кольца, полигона или мультиполигона
  • Новый алгоритм point_on_surface, генерирующий точку, лежащую на поверхности (внутренней) полигона
  • Новый алгоритм прост, возвращаясь истинным, если геометрия проста в соответствии со стандартом OGC.
  • Новый алгоритм является действительным, возвращаясь истинным, если геометрия действительна в соответствии со стандартом OGC.
  • Новый алгоритм пересекается для проверки этого пространственного отношения в соответствии со стандартом OGC
  • Заданные алгоритмы работы (разница, пересечение, sym_difference и Union_) теперь поддерживаются в качестве входных пар точечных или линейных геометрий.
  • Алгоритмы расстояния и сопоставимых расстояний поддерживают все пары геометрических комбинаций.
  • Пространственные отношения, которые не поддерживали его (покрытые, касания, внутри и т. д.), теперь поддерживаются как входная линейная и / или ареальная геометрия.
  • Поддержка повышения::варианты как входная геометрия в различных алгоритмах
  • Поддержка rtree для сегментов индексации
  • Ближайший() предикат для произвольной геометрии

Улучшения

  • Оптимизация алгоритма создания пакетов rtree (благодаря Лу Вану)

Раскрыты билеты

  • 8310Неправильные результаты с перекрывающимися многоугольниками (фиксированы с использованием point_on_surface для разъединения)
  • 8375sym_difference of non-closed polygons returns closed polygon
  • 8376Разность незамкнутых многоугольников возвращает замкнутый многоугольник
  • 9081Булевы создают самопересекающиеся полигоны из несамопересекающихся полигонов
  • 9245Проверка ошибок процесса в make_qbk.py
  • 9563(Sym) Отличие неуспешное, фиксируемое путем перемасштабирования на надежный тип
  • 9628Неправильный результат внутри() из-за неправильной стратегии обмотки для почти горизонтальных сегментов
  • 9828boost::geometry::union_(...) создает избыточную точку закрытия
  • 9871Удалить шип в многоугольнике только с шипом
  • 9941Добавить поддержку касаний (коробка, коробка)
  • 9947Пропавшая информация о WKT в документации
  • 9759Недействительные результаты запросов R-дерево knn для некартовых систем координат
  • 10019Разница струн и коробок возвращает их пересечение
  • 10077Неправильные типы в проверках концепции в boost/geometry/arithmetic/arithmetic.hpp
  • 10234Неправильные результаты указанного_by() для почти горизонтальных сегментов

Багфиксы

  • Интерсекты (полигон) могут возвращать точку самопересечения для ее точки закрытия, фиксированной
  • равные () могут возвращать недействительные результаты для непростых линейных геометрий в соответствии со стандартом OGC, фиксированным
  • Прикосновения() не работали должным образом для геомтрий CCW, фиксированных
  • rtree Ближайшие запросы возвращали неправильные элементы для некартовых систем координат, фиксированные
  • rtree разбивается в некоторых случаях при использовании с Interprocess allocator, фиксированным

Boost 1.55

Дополнительный функционал

  • Добавлен центроид для сегментного типа
  • Добавленные пересечения () и разъединения () для сегмента-бокса и линейной строки-бокса
  • Добавлено создание rtree с использованием алгоритма упаковки
  • Добавлено содержит() и охватывает() предикаты пространственных запросов
  • Добавлены итеративные запросы

Документация

Багфиксы

  • В некоторых случаях .back() или .clear() назывались, нарушая использование Концепций. Исправлено по зарегистрированным случаям
  • Используйте последовательную информацию о стороне в cart_intersect и get_turn_info и handle_tangencies и enrich_intersection_info. Это делается путем переключения на целое число (при необходимости) только для конкретных 6 точек, масштабирование на 4 или 3 сегментах.

Раскрыты билеты

  • 6958Пересечение порождает самопересечение. Вызванный шипом, фиксированный
  • 8364Недействительное входное исключение, вызванное всплесками на предыдущих шагах, фиксированными
  • 8365Недействительное входное исключение, вызванное всплесками на предыдущих этапах, зафиксировано
  • 8969бустер::геометрия::модель::точка Конструктор единого аргумента должен быть явным
  • 8825Патч, добавляющий переменную документацию к doxygen_xml2qbk
  • 8652Пересечение не подходит для пересечения треугольник-треугольник. Вызванный шипом, фиксированный
  • 9047Повысить файлы, которые включают себя (стратегии/intersection.hpp),

Внутренние изменения

  • Адаптированная стратегия расстояния, тип точки в шаблоне заменяется типом расчета
  • Адаптированные стратегии преобразования теперь имеют точки в качестве шаблона-члена и тип расчета в качестве шаблона. Похожие на Projected_point distance
  • Спайки (могут генерироваться в разнице) в наложениях на основе целых чисел теперь избегают во время генерации.
  • Удаление старых файлов проекта MSVC2005
  • Оптимизирован алгоритм балансировки R*-деревьев

Boost 1.54

Дополнительный функционал

  • Добавлен пространственный индекс, разработанный для Boost. Геометрия Адама Вулькевича. Пространственный индекс был первоначально запущен Федерико Фернандесом во время программы Google Summer of Code 2008 под руководством Хартмута Кайзера.
  • Добавлен SVG-выход, это было уже в продлениях на несколько лет

Документация

  • Маленькие исправления недостающих слов
  • исправления в doc параметров шаблона (convex_hull, exterior_ring, return_buffer)

Багфиксы

  • Коллинеарные противоположные сегменты иногда (в кругах) имеют проблему устойчивости.
  • фиксированная вставка ложной точки пересечения (обнаружена буфером)
  • нанесённый пластырь Владимира Петровича для отладки обходов

Раскрыты билеты

  • 7462вырожденный результат соединения для плавания, фиксированный
  • 7465неправильные конструкторы доступа типа scale_transformer класса, фиксированный
  • 7802cart_intersect.hpp неиспользуемые предупреждения о параметрах, фиксированные
  • 8254неисправный перекресток, фиксированный
  • 8393многоугольная модель не придерживается заявленных правил концепции Polygon.
  • 8403Заглушенный компилятор предупреждения C4127: условное выражение является постоянным
  • 8405заглушенный компилятор, предупреждающий C4189: '...': локальная переменная инициализируется, но не упоминается

Внутренние изменения

  • Изготовлено несколько алгоритмов вариантно-осознанных (приложение, область, ясность, преобразование, равные, длина, num_points)

Boost 1.53

Багфиксы

  • Избегайте генерации выходных многоугольников с внутренними кольцами ниже минимального размера (например, одна или две точки).
  • <geometry::disjoint>для дегенеративных сегментов (защищен Карстеном Ахнертом)
  • Проблема в<geometry::difference>для недостающей управляемости, о которой сообщает H2
  • 333 для использования с лямбда
  • фиксированная<geometry::comparable_distance>точечная линия (и -диапазон, -полигон)

Дополнительный функционал

  • <geometry::disjoint>: точка/кольцо, точка/полигон, point/multi_polygon
  • <geometry::intersects>: точка/кольцо, точка/полигон, point/multi_polygon

Внутренние изменения

  • Обновления в специализациях, реализованные для различных алгоритмов (как и в более ранней версии, эти изменения все еще продолжаются; они заботятся об упрощенных структурах, лучшей отчетности об ошибках и автоматизированной документации).
  • фиксация в единичных испытаниях

Boost 1.51

Переломные изменения

  • Точки, доступ к которым осуществляется через указатель (например, в строке), теперь должны быть специализированы без указателя. В предыдущих версиях тип<my_point>, используемый как<linestring<my_point*>>, должен был быть спекулирован как:<template<> structtag<my_point*>>. Теперь сама библиотека удаляет указатель перед вызовом класса признаков, поэтому теперь она должна быть такой:<template<> structtag<my_point>>

Багфиксы

  • пересечение иногда неправильно для целых точек, фиксированных
  • документация, порядок параметров в упрощении был неверным, фиксированным

Раскрыты билеты

  • 7030сферическое расстояние, фиксированное (по пятну Карстена Ахнерта)

Boost 1.50

Багфиксы

  • Тип возврата сопоставимой прогнозируемой точечной стратегии для целых точек был неверным (целое число), фиксированным
  • несколько проблем устойчивости на пересечении сегментов и полигонов, фиксированных
  • Недействительный выход пересечения отфильтрован
  • Disjoint для multi_polygon's может неправильно вернуться истинным, фиксированным

Раскрыты билеты

  • 6585патч для альтернативной многоточечной синтаксиса
  • 6584патч для ошибки в расстоянии, применяется
  • 5730тот же номер, что и 6584, фиксированный
  • 6166пластырь для отсутствующего преобразования, примененный
  • 6696недействительный результат пересечения, был (случайно) уже зафиксирован в Trunk до сообщения

Дополнительный функционал

  • Добавлен алгоритм «прикосновения» (OGC SF) для *полигона/*полигона

Boost 1.49

Переломные изменения

  • point_xy был случайно включен в один из заголовков. Если используется класс point_xy, он должен быть включен прямо сейчас.

Багфиксы

  • Багфикс: расстояние для мультигеометрий игнорируется заданная стратегия расстояния. фиксированный
  • bugfix: difference for polygon/multi_polygon (reported 2011/10/24 on GGL-list)
  • исправление ошибок: увеличение исключения для расчета расстояний мультигеометри (мультигеометри), где один из них пуст
  • bugfix: Multi DSV неправильно использует настройки, фиксированные
  • исправление ошибок: самопересечения иногда могут быть пропущены (введены в 1.48), зафиксированы
  • bugfix: выпуклый корпус разбился на пустом диапазоне (например, пустая многоточечная точка), фиксированный
  • исправление ошибок: область/центроид/бок/пересечение/расстояние не работает для типа «int», заполненного большими (но не переполненными) целыми числами. Исправлено.
  • исправление ошибок: разъединение/пересечение не работало для дегенеративных линий. Исправлено.
  • bugfix: cover_by не компилируется для кольца. Исправлено.

Раскрыты билеты

  • 6019выпуклый_корпус/площадь, фиксированный.
  • 6021выпуклый_корпус/приложение (многоточечный), фиксированный.
  • 6028Документация: закрытие, исправление.
  • 6178Пропавший заголовок, исправлен.

Дополнительный функционал

  • Поддержка пересечений линий/полигонов и различий
  • Поддержка преобразования сегмента/коробки различных типов точек
  • Поддержка приложения для Multi Point
  • Расстояние скалярной функции теперь бросает пустое_вход_исключение на пустой вход

Документация

  • Обновленный статус поддержки в нескольких алгоритмах
  • Обновленное соответствие OGC или std
  • Другие обновления и исправления

Внутренние изменения

  • Обновления в специализациях/not_реализованы для дистанционного/конвертированного/назначенного/района/с/покрытым_by
  • перемещение wkt/dsv в папку io, что делает домены избыточными
  • Предупреждения: стратегические концепции, назначенные на ноль, чтобы избежать предупреждений о сцеплении (записанные Вишну)
  • Предупреждения: было несколько неиспользуемых параметров, для которых предупреждал gcc/clang.

Boost 1.48

Багфиксы

  • Проблема надежности, в некоторых обстоятельствах профсоюз не смог выйти. Исправлено.
  • В некоторых случаях расчетная точка пересечения находилась за пределами сегмента. Исправлено.
  • Концептуальный вопрос, картезианский интерсект не понимал сегментов, отличных от предоставленного. Исправлено.
  • Иногда пропускались самопересечения в струнах. Исправлено.
  • Система координат слияния была зарегистрирована неправильно. Исправлено.

Раскрыты билеты

  • 5726Алгоритм пересечения сегмента по-прежнему предполагает «первый», «второй» члены
  • 5744Ошибка в адаптации термоядерного синтеза пример
  • 5748Необходимо включить
  • 5954distance_pythagoras skips sqrt() step

Улучшения алгоритмов

  • Проверка самопересечений теперь не выполняется автоматически, это может привести к взрывной производительности.
  • Кроме того, проверка самопересечений производится быстрее.
  • Пересечения теперь избегают вывода дублирующих точек. Таким образом, они выводят минимальный набор.

Дополнительные алгоритмы

  • Определяется как «внутри, а не на границе». «cover_by» означает «в пределах или на границе».

Дополнительный функционал

  • в пределах: стратегии теперь могут быть определены для внутри<точки, коробки >и внутри<бокса, коробки >
  • Конверсия: поддерживается гораздо более широкий спектр конверсий
  • idem (в настоящее время частично) синоним для преобразования (но обратные аргументы)

Дополнительные типы координат

  • Базовая (ограниченная) поддержка. рациональный

Boost 1.47

Оригинальный выпуск


PrevUpHomeNext

Статья Release Notes раздела Chapter 1. Geometry Chapter 1. Geometry может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Chapter 1. Geometry ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 23:03:06/0.019806146621704/1