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

unique

Boost , Chapter 1. Geometry , Algorithms

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

Вычисляет минимальный набор геометрии.

Description

Уникальная бесплатная функция вычисляет минимальный набор (где дублируются последовательные точки) геометрии.

Synopsis

template<typename Geometry>
void unique(Geometry & geometry)

Parameters

Тип

Концепция

Имя

Описание

Геометрия и амп;

Любой тип, выполняющий концепцию геометрии

Геометрия

Модель указанного понятия, которая будет сделана уникальной

Header

Либо

#include <boost/geometry.hpp>

Либо

#include <boost/geometry/algorithms/unique.hpp>

Conformance

Уникальная функция не определяется OGC.

Уникальная функция соответствует std::уникальная функция C++ std-библиотеки.

Behavior

Дело

поведение

Точка

Ничего не происходит, геометрия неизменна

Сегмент

Ничего не происходит, геометрия неизменна

Коробка

Ничего не происходит, геометрия неизменна

Струна

Удалить все последовательные дублирующие очки

Кольцо

Удалить все последовательные дублирующие очки

Полигон

Удаляет все последовательные дублирующие точки во всех кольцах

Многоточечная

Ничего не происходит, геометрия неизменна. Даже если два равных пункта хранятся последовательно, они хранятся

.

Многострунная

Удаляет все последовательные дублирующие точки во всех содержащихся строках

Многополигон

Удаляет все последовательные дублирующие точки во всех содержащихся многоугольниках (все кольца)

Complexity

линейный

Example

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

#include <iostream>
#include <boost/geometry.hpp>
#include <boost/geometry/geometries/polygon.hpp>
#include <boost/geometry/geometries/adapted/boost_tuple.hpp>
BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian)
int main()
{
    boost::geometry::model::polygon<boost::tuple<double, double> > poly;
    boost::geometry::read_wkt("POLYGON((0 0,0 0,0 5,5 5,5 5,5 5,5 0,5 0,0 0,0 0,0 0,0 0))", poly);
    boost::geometry::unique(poly);
    std::cout << boost::geometry::wkt(poly) << std::endl;
    return 0;
}

Результат:

POLYGON((0 0,0 5,5 5,5 0,0 0))

PrevUpHomeNext

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




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



:: Главная :: Algorithms ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 18:03:13/0.0065860748291016/0