mirror of
https://github.com/boostorg/geometry.git
synced 2026-02-11 11:52:11 +00:00
added support for the LS/MLS difference; need to add tests as well
This commit is contained in:
@@ -273,6 +273,44 @@ struct linestring_linestring_linestring
|
||||
};
|
||||
|
||||
|
||||
//===========================================================================
|
||||
//===========================================================================
|
||||
//===========================================================================
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
template <typename LinestringOut>
|
||||
struct linestring_multilinestring_linestring
|
||||
{
|
||||
typedef typename point_type<LinestringOut>::type PointOut;
|
||||
typedef overlay::traversal_turn_info<PointOut> turn_info;
|
||||
|
||||
|
||||
template
|
||||
<
|
||||
typename Linestring, typename MultiLinestring,
|
||||
typename OutputIterator, typename Strategy
|
||||
>
|
||||
static inline OutputIterator apply(Linestring const& linestring,
|
||||
MultiLinestring const& multilinestring,
|
||||
OutputIterator oit,
|
||||
Strategy const& strategy)
|
||||
{
|
||||
geometry::model::multi_linestring<Linestring> mls;
|
||||
|
||||
mls.push_back(linestring);
|
||||
|
||||
return
|
||||
multilinestring_multilinestring_linestring
|
||||
<
|
||||
LinestringOut
|
||||
>::apply(mls, multilinestring, oit, strategy);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
}} // namespace detail::difference
|
||||
|
||||
@@ -531,6 +531,24 @@ struct intersection_insert
|
||||
{};
|
||||
|
||||
|
||||
template
|
||||
<
|
||||
typename LineString, typename MultiLineString,
|
||||
typename LineStringOut,
|
||||
bool Reverse1, bool Reverse2, bool ReverseOut
|
||||
>
|
||||
struct intersection_insert
|
||||
<
|
||||
LineString, MultiLineString,
|
||||
LineStringOut,
|
||||
overlay_difference,
|
||||
Reverse1, Reverse2, ReverseOut,
|
||||
linestring_tag, multi_linestring_tag, linestring_tag,
|
||||
false, false, false
|
||||
> : detail::difference::linestring_multilinestring_linestring<LineStringOut>
|
||||
{};
|
||||
|
||||
|
||||
template
|
||||
<
|
||||
typename MultiLineString1, typename MultiLineString2,
|
||||
|
||||
Reference in New Issue
Block a user