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 an older version of Boost and was released in 2020. The current version is 1.89.0.
Metafunction defining value as the closure (clockwise, counterclockwise) of the specified geometry type.
template<typename Geometry> struct closure { // ... };
|
Parameter |
Description |
|---|---|
|
typename Geometry |
Any type fulfilling a Geometry Concept |
Either
#include <boost/geometry.hpp>
Or
#include <boost/geometry/core/closure.hpp>
![]() |
Note |
|---|---|
The closure is defined for any geometry type, but only has a real meaning for areal geometry types (ring, polygon, multi_polygon) |
Compile time
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)