61 std::vector<B2DRange>().swap(
maRanges);
62 std::vector<B2VectorOrientation>().swap(
maOrient);
72 const std::vector<B2DRange>::const_iterator aEnd(
maRanges.end() );
73 return std::any_of(
maRanges.begin(),
75 [&rRange](
const B2DRange& aRange) { return aRange.overlaps(rRange); } );
87 a.transform(rTranslate);
114 return !(*
this == rRange);
129 mpImpl->appendElement(rRange, eOrient);
139 return mpImpl->overlaps(rRange);
144 mpImpl->transform(rTranslate);
149 return mpImpl->solveCrossovers();
Multiple ranges in one object.
std::tuple< B2DRange, B2VectorOrientation > ElementType
ElementType getElement(sal_uInt32 nIndex) const
B2DPolyRange & operator=(const B2DPolyRange &)
sal_uInt32 count() const
Number of included ranges.
B2DPolyPolygon solveCrossovers() const
Request a poly-polygon with solved cross-overs.
void appendElement(const B2DRange &rRange, B2VectorOrientation eOrient)
bool operator==(const B2DPolyRange &) const
o3tl::cow_wrapper< ImplB2DPolyRange > mpImpl
bool operator!=(const B2DPolyRange &) const
bool overlaps(const B2DRange &rRange) const
Test whether given range overlaps one or more of the included ranges.
void transform(const B2DHomMatrix &rTranslate)
A two-dimensional interval over doubles.
BASEGFX_DLLPUBLIC void transform(const B2DHomMatrix &rMatrix)
Transform Range by given transformation matrix.
std::vector< B2VectorOrientation > maOrient
bool operator==(const ImplB2DPolyRange &rRHS) const
bool overlaps(const B2DRange &rRange) const
std::vector< B2DRange > maRanges
B2DPolyRange::ElementType getElement(sal_uInt32 nIndex) const
void transform(const basegfx::B2DHomMatrix &rTranslate)
void appendElement(const B2DRange &rRange, B2VectorOrientation eOrient)
B2DPolyPolygon solveCrossovers() const
void expand(const Tuple2D< TYPE > &rTuple)
add point to the set, expanding as necessary
void reset()
reset the object to empty state again, clearing all values
bool overlaps(const Range2D &rRange) const
yields true if rRange at least partly inside set
B2DPolyPolygon solveCrossovers(const B2DPolyPolygon &rCandidate, size_t *pPointLimit)
Solve all crossovers (aka self-intersections) in a polyPolygon.
B2VectorOrientation
Descriptor for the mathematical orientations of two 2D Vectors.