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

strategy::area::huiller

Boost , Chapter 1. Geometry , Strategies

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 PointOfSegment, typename CalculationType>
class strategy::area::huiller
{
  // ...
};

Template parameter(s)

Параметр

по умолчанию

Описание

Имя типа PointOfSegment

точечный тип сегментов колец/полигонов

Типовое имя Расчет Тип

пустота

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

Constructor(s)

Функция

Описание

Параметры

huiller(calculation_type radius = 1.0)

вычисление_тип:радиус:

Member Function(s)

Функция

Описание

Параметры

Возвращение

void apply(PointOfSegment const & p1, PointOfSegment const & p2, excess_sum & state)

PointOfSegment const &:p1:

PointOfSegment const &:p2:

excess_sum &:состояние:

return_type result(excess_sum const & state)

excess_sum const &: state:

Header

#include <boost/geometry/strategies/spherical/area_huiller.hpp>

Example

Вычислите площадь полигона

#include <iostream>
#include <boost/geometry.hpp>
#include <boost/geometry/geometries/point_xy.hpp>
#include <boost/geometry/geometries/polygon.hpp>
namespace bg = boost::geometry; 1
int main()
{
    // Calculate the area of a cartesian polygon
    bg::model::polygon<bg::model::d2::point_xy<double> > poly;
    bg::read_wkt("POLYGON((0 0,0 7,4 2,2 0,0 0))", poly);
    double area = bg::area(poly);
    std::cout << "Area: " << area << std::endl;
    // Calculate the area of a spherical polygon (for latitude: 0 at equator)
    bg::model::polygon<bg::model::point<float, 2, bg::cs::spherical_equatorial<bg::degree> > > sph_poly;
    bg::read_wkt("POLYGON((0 0,0 45,45 0,0 0))", sph_poly);
    area = bg::area(sph_poly);
    std::cout << "Area: " << area << std::endl;
    return 0;
}

1

Удобный псевдоним пространства имен

Результат:

Area: 16
Area: 0.339837
See also

area (with strategy)


PrevUpHomeNext

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




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



:: Главная :: Strategies ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 04:42:29/0.0057241916656494/1