12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- [/============================================================================
- Boost.Geometry (aka GGL, Generic Geometry Library)
- Copyright (c) 2014 Barend Gehrels, Amsterdam, the Netherlands.
- Use, modification and distribution is subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
- =============================================================================/]
- [def __this_function__ buffer]
- [heading Strategies]
- The 5 strategies give the user control to the generated buffer
- * convex corners can be rounded or sharp
- * line-ends can be rounded or flat
- * distance can be symmetric or assymetric, and positive or negative
- * around points the shape can be circular or square
- * the sides can be controlled (currently there is only one option provided)
- By specifying a negative distance for the distance_strategy, for the (multi) polygon case, the polygon will be smaller (also known as deflate). The distance cannot be 0.
- The next figure shows where in the generated buffer the strategies have effect
- [$img/algorithms/buffer_strategies.png]
- [heading_conformance_ogc __this_function__..Buffer]
- It is conformant if used with the following combination of strategies:
- [link geometry.reference.strategies.strategy_buffer_join_round join_round],
- [link geometry.reference.strategies.strategy_buffer_end_round end_round],
- [link geometry.reference.strategies.strategy_buffer_distance_symmetric distance_symmetric],
- [link geometry.reference.strategies.strategy_buffer_point_circle point_circle],
- side_straight
- [heading Supported geometries]
- [table
- [[ ][2D Cartesian][Geographic]]
- [[Point][[$img/ok.png]][[$img/ok.png]]]
- [[Segment][[$img/nyi.png]][[$img/nyi.png]]]
- [[Box][[$img/nyi.png]][[$img/nyi.png]]]
- [[Linestring][[$img/ok.png]][[$img/nyi.png]]]
- [[Ring][[$img/ok.png]][[$img/nyi.png]]]
- [[Polygon][[$img/ok.png]][[$img/nyi.png]]]
- [[MultiPoint][[$img/ok.png]][[$img/nyi.png]]]
- [[MultiLinestring][[$img/ok.png]][[$img/nyi.png]]]
- [[MultiPolygon][[$img/ok.png]][[$img/nyi.png]]]
- ]
- [heading Examples]
- [buffer_with_strategies]
- [heading The linestring case]
- [$img/algorithms/buffer_linestring.png]
- [heading The multi_point case]
- [$img/algorithms/buffer_multi_point.png]
- [heading The multi_polygon case]
- [$img/algorithms/buffer_multi_polygon.png]
- [heading Available Strategies]
- * JoinStrategy: [link geometry.reference.strategies.strategy_buffer_join_round join_round (cartesian)]
- * JoinStrategy: [link geometry.reference.strategies.strategy_buffer_join_miter join_miter (cartesian)]
- * EndStrategy: [link geometry.reference.strategies.strategy_buffer_end_round end_round (cartesian)]
- * EndStrategy: [link geometry.reference.strategies.strategy_buffer_end_flat end_flat (cartesian)]
- * DistanceStrategy: [link geometry.reference.strategies.strategy_buffer_distance_symmetric distance_symmetric]
- * DistanceStrategy: [link geometry.reference.strategies.strategy_buffer_distance_asymmetric distance_asymmetric]
- * PointStrategy: [link geometry.reference.strategies.strategy_buffer_point_circle point_circle (cartesian)]
- * PointStrategy: [link geometry.reference.strategies.strategy_buffer_point_square point_square (cartesian)]
- * PointStrategy: [link geometry.reference.strategies.strategy_buffer_geographic_point_circle geographic_point_circle (geographic)]
- * SideStrategy: [link geometry.reference.strategies.strategy_buffer_side_straight side_straight (cartesian)]
|