Property Merge 45 Ниже приведена декларация алгоритма слияния свойств. шаблон класс свойств_merge_45; Алгоритм свойств вычисляет наложение n-слойной карты входных многоугольников. Каждая входная геометрия вставляется вместе со значением свойства. Тип свойств может быть любым, подходящим для использования в качестве элемента std::set. Объекты множественной геометрии могут быть отдельно вставлены с одинаковым значением свойств. Для хранения результата этой операции требуется достаточно сложный контейнер. Полученные геометрии связаны с уникальными подмножествами значений свойств входной геометрии. Два подходящих контейнера для хранения результата операции по слиянию свойств: std::mappolygon_45_set_data> std::mappolygon_45_set_data> Пример кодаproperty_merge_usage.cppдемонстрирует использование n-слойного алгоритма наложения карты на полигон 90 данных. Member Functions
property_merge_45() |
Конструктор по умолчанию. |
property_merge_45(const property_merge_45& that) |
Копировать конструкцию. |
void
insert(const
polygon_45_set_data<coordinate_type>& ps,
const property_type& property) |
Яустанавливаю многоугольник с соответствующим свойством. Линейные вершины вставлены. |
template <class GeoObjT>
void insert(const GeoObjT& geoObj,
const property_type& property) |
Вставьте объект геометрии, который представляет собой уточнение полигона 45 с соответствующим свойством. Вставлены линейные вершины wrt. |
template <typename result_type>
void merge(result_type& result) |
Принимает контейнерный объект, который соответствует ожиданиям, определенным выше. выполняет слияние свойств и населяет контейнерный объект. O(n log n) runtime wrt. вершины + пересечения. |
|