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

is_valid

Boost , Chapter 1. Geometry , is_valid

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

Проверяет, действительна ли геометрия (в смысле ОГК)

Synopsis

template<typename Geometry>
bool is_valid(Geometry const & geometry)

Parameters

Тип

Концепция

Имя

Описание

Геометрия конст &

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

Геометрия

Модель указанного понятия

Returns

Возвращается истинно, если геометрия действительна (в смысле ОГК); кроме того, считаются действительными следующие геометрии: многогеометрии без элементов, линейные геометрии, содержащие шипы, ареальные геометрии с дублирующими (последовательными) точками

Header

Или

#include <boost/geometry.hpp>

Или

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

Conformance

Функция is_valid не определяется OGC.

Supported geometries

Геометрия

статус

Точка

ok

Сегмент

ok

Коробка

ok

Струна

ok

Кольцо

ok

Полигон

ok

Многоточечный

ok

Мультилинестринг

ok

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

ok

Вариант

ok

Complexity

Постоянное время для точек, сегментов, коробок и многоточечных

Линейный для линейных шнуров и многолинейных шнуров

Линеаритмический для колец

В настоящее время худший случай квадратичен для многоугольников и многополигонов.

Example

Проверьте, действительна ли геометрия

#include <iostream>
#include <boost/geometry.hpp>
#include <boost/geometry/geometries/point_xy.hpp>
#include <boost/geometry/geometries/polygon.hpp>
int main()
{
    typedef boost::geometry::model::d2::point_xy<double> point_type;
    typedef boost::geometry::model::polygon<point_type> polygon_type;
    polygon_type poly;
    boost::geometry::read_wkt("POLYGON((0 0,0 10,10 10,10 0,0 0),(0 0,9 1,9 2,0 0),(0 0,2 9,1 9,0 0),(2 9,9 2,9 9,2 9))", poly);
    std::cout << "is valid? " << (boost::geometry::is_valid(poly) ? "yes" : "no") << std::endl;
    return 0;
}

Результат:

is valid? no
is_valid_example
See also

PrevUpHomeNext

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




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



:: Главная :: is_valid ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 02:20:33/0.02537989616394/1