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

This is the documentation for an old version of Boost. Click here to view this page for the latest version.
PrevUpHomeNext

closure

Metafunction defining value as the closure (clockwise, counterclockwise) of the specified geometry type.

Synopsis

template<typename Geometry>
struct closure
{
  // ...
};

Template parameter(s)

Parameter

Description

typename Geometry

Any type fulfilling a Geometry Concept

Header

Either

#include <boost/geometry.hpp>

Or

#include <boost/geometry/core/closure.hpp>

[Note] Note

The closure is defined for any geometry type, but only has a real meaning for areal geometry types (ring, polygon, multi_polygon)

Complexity

Compile time

Example

Examine if a polygon is defined as "should be closed"

#include <iostream>

#include <boost/geometry.hpp>
#include <boost/geometry/geometries/polygon.hpp>
#include <boost/geometry/geometries/point_xy.hpp>

int main()
{
    typedef boost::geometry::model::d2::point_xy<double> point_type;
    typedef boost::geometry::model::polygon<point_type> polygon_type;

    boost::geometry::closure_selector clos = boost::geometry::closure<polygon_type>::value;

    std::cout << "closure: " << clos << std::endl
        << "(open = " << boost::geometry::open
        << ", closed = " << boost::geometry::closed
        << ") "<< std::endl;

    return 0;
}

Output:

closure: 1
(open = 0, closed = 1)
See also

PrevUpHomeNext