1ce9c7ef7SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3ce9c7ef7SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4ce9c7ef7SAndrew Rist * or more contributor license agreements. See the NOTICE file 5ce9c7ef7SAndrew Rist * distributed with this work for additional information 6ce9c7ef7SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7ce9c7ef7SAndrew Rist * to you under the Apache License, Version 2.0 (the 8ce9c7ef7SAndrew Rist * "License"); you may not use this file except in compliance 9ce9c7ef7SAndrew Rist * with the License. You may obtain a copy of the License at 10ce9c7ef7SAndrew Rist * 11ce9c7ef7SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12ce9c7ef7SAndrew Rist * 13ce9c7ef7SAndrew Rist * Unless required by applicable law or agreed to in writing, 14ce9c7ef7SAndrew Rist * software distributed under the License is distributed on an 15ce9c7ef7SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16ce9c7ef7SAndrew Rist * KIND, either express or implied. See the License for the 17ce9c7ef7SAndrew Rist * specific language governing permissions and limitations 18ce9c7ef7SAndrew Rist * under the License. 19ce9c7ef7SAndrew Rist * 20ce9c7ef7SAndrew Rist *************************************************************/ 21ce9c7ef7SAndrew Rist 22ce9c7ef7SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef _BGFX_RANGE_B2DRANGECLIPPER_HXX 25cdf0e10cSrcweir #define _BGFX_RANGE_B2DRANGECLIPPER_HXX 26cdf0e10cSrcweir 27cdf0e10cSrcweir #include <basegfx/range/b2dpolyrange.hxx> 28cdf0e10cSrcweir #include <vector> 29*b63233d8Sdamjan #include <basegfx/basegfxdllapi.h> 30cdf0e10cSrcweir 31cdf0e10cSrcweir namespace basegfx 32cdf0e10cSrcweir { 33cdf0e10cSrcweir namespace tools 34cdf0e10cSrcweir { 35cdf0e10cSrcweir /** Extract poly-polygon w/o self-intersections from poly-range 36cdf0e10cSrcweir 37cdf0e10cSrcweir Similar to the solveCrossovers(const B2DPolyPolygon&) 38cdf0e10cSrcweir method, this one calculates a self-intersection-free 39cdf0e10cSrcweir poly-polygon with the same topology, and encoding 40cdf0e10cSrcweir inside/outsidedness via polygon orientation and layering. 41cdf0e10cSrcweir */ 42*b63233d8Sdamjan BASEGFX_DLLPUBLIC B2DPolyPolygon solveCrossovers(const std::vector<B2DRange>& rRanges, 43cdf0e10cSrcweir const std::vector<B2VectorOrientation>& rOrientations); 44cdf0e10cSrcweir } 45cdf0e10cSrcweir } 46cdf0e10cSrcweir 47cdf0e10cSrcweir #endif /* _BGFX_RANGE_B2DRANGECLIPPER_HXX */ 48