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

equals

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 Geometry1, typename Geometry2>
bool equals(Geometry1 const & geometry1, Geometry2 const & geometry2)

Parameters

Тип

Концепция

Имя

Описание

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

Геометрия1

Геометрия2 const &

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

Геометрия2

Returns

Верно, если две геометрии пространственно равны

Header

Или

#include <boost/geometry.hpp>

Или

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

Conformance

Функция равна реализации функции Равно изOGC Simple Feature Specification.

Supported geometries
Точка

[ORIG_END] -->

сегмент

Коробка

[ORIG_END] -->

Струнный

Кольцо

полигон

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

МногопользовательскийMultiLinestringMultiLinestring

[ORIG_END] -->

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

Вариант

Точка

[ORIG_END] -->
ok

nyi

nyi

nyi

nyi

nyi

nyi

nyi

nyi

nyi

сегмент

nyi

ok

nyi

nyi

nyi

nyi

nyi

nyi

nyi

nyi

Коробка

[ORIG_END] -->
nyi

nyi

ok

nyi

ok

ok

nyi

nyi

nyi

ok

Струнный

nyi

nyi

nyi

ok

nyi

nyi

nyi

ok

nyi

nyi

Кольцо

nyi

nyi

ok

nyi

ok

ok

nyi

nyi

nyi

ok

полигон

nyi

nyi

ok

nyi

ok

ok

nyi

nyi

ok

ok

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

nyi

nyi

nyi

nyi

nyi

nyi

nyi

nyi

nyi

nyi

МногопользовательскийMultiLinestringMultiLinestring

[ORIG_END] -->
nyi

nyi

nyi

ok

nyi

nyi

nyi

ok

nyi

nyi

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

nyi

nyi

nyi

nyi

nyi

ok

nyi

nyi

ok

ok

Вариант

nyi

nyi

ok

nyi

ok

ok

nyi

nyi

nyi

ok

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)
#include <boost/assign.hpp>
int main()
{
    using boost::assign::tuple_list_of;
    typedef boost::tuple<int, int> point;
    boost::geometry::model::polygon<point> poly1, poly2;
    boost::geometry::exterior_ring(poly1) = tuple_list_of(0, 0)(0, 5)(5, 5)(5, 0)(0, 0);
    boost::geometry::exterior_ring(poly2) = tuple_list_of(5, 0)(0, 0)(0, 5)(5, 5)(5, 0);
    std::cout
        << "polygons are spatially "
        << (boost::geometry::equals(poly1, poly2) ? "equal" : "not equal")
        << std::endl;
    boost::geometry::model::box<point> box;
    boost::geometry::assign_values(box, 0, 0, 5, 5);
    std::cout
        << "polygon and box are spatially "
        << (boost::geometry::equals(box, poly2) ? "equal" : "not equal")
        << std::endl;
    return 0;
}

Результат:

polygons are spatially equal
polygon and box are spatially equal

PrevUpHomeNext

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




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



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


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 19:26:48/0.0070269107818604/0