LibreOffice Module basegfx (master) 1
|
#include <b2dpolypolygon.hxx>
Public Member Functions | |
B2DPolyPolygon () | |
B2DPolyPolygon (const B2DPolyPolygon &rPolyPolygon) | |
B2DPolyPolygon (B2DPolyPolygon &&rPolyPolygon) | |
B2DPolyPolygon (const B2DPolygon &rPolygon) | |
~B2DPolyPolygon () | |
B2DPolyPolygon & | operator= (const B2DPolyPolygon &rPolyPolygon) |
B2DPolyPolygon & | operator= (B2DPolyPolygon &&rPolyPolygon) |
void | makeUnique () |
unshare this poly-polygon (and all included polygons) with all internally shared instances More... | |
bool | operator== (const B2DPolyPolygon &rPolyPolygon) const |
bool | operator!= (const B2DPolyPolygon &rPolyPolygon) const |
sal_uInt32 | count () const |
B2DPolygon const & | getB2DPolygon (sal_uInt32 nIndex) const |
void | setB2DPolygon (sal_uInt32 nIndex, const B2DPolygon &rPolygon) |
bool | areControlPointsUsed () const |
void | insert (sal_uInt32 nIndex, const B2DPolygon &rPolygon, sal_uInt32 nCount=1) |
void | append (const B2DPolygon &rPolygon, sal_uInt32 nCount=1) |
void | reserve (sal_uInt32 nCount) |
B2DPolyPolygon | getDefaultAdaptiveSubdivision () const |
Default adaptive subdivision access. More... | |
B2DRange | getB2DRange () const |
Get the B2DRange (Rectangle dimensions) of this B2DPolyPolygon. More... | |
void | insert (sal_uInt32 nIndex, const B2DPolyPolygon &rPolyPolygon) |
void | append (const B2DPolyPolygon &rPolyPolygon) |
void | remove (sal_uInt32 nIndex, sal_uInt32 nCount=1) |
void | clear () |
bool | isClosed () const |
void | setClosed (bool bNew) |
void | flip () |
bool | hasDoublePoints () const |
void | removeDoublePoints () |
void | transform (const basegfx::B2DHomMatrix &rMatrix) |
const B2DPolygon * | begin () const |
const B2DPolygon * | end () const |
B2DPolygon * | begin () |
B2DPolygon * | end () |
template<class T > | |
std::shared_ptr< T > | getSystemDependentData () const |
template<class T , class... Args> | |
std::shared_ptr< T > | addOrReplaceSystemDependentData (Args &&... args) const |
Private Member Functions | |
void | addOrReplaceSystemDependentDataInternal (SystemDependentData_SharedPtr &rData) const |
SystemDependentData_SharedPtr | getSystemDependantDataInternal (size_t hash_code) const |
Private Attributes | |
o3tl::cow_wrapper< ImplB2DPolyPolygon, o3tl::ThreadSafeRefCountingPolicy > | mpPolyPolygon |
Definition at line 36 of file b2dpolypolygon.hxx.
|
default |
|
default |
|
default |
|
explicit |
Definition at line 220 of file b2dpolypolygon.cxx.
|
default |
|
inline |
Definition at line 131 of file b2dpolypolygon.hxx.
References args.
|
private |
Definition at line 420 of file b2dpolypolygon.cxx.
References mpPolyPolygon.
void basegfx::B2DPolyPolygon::append | ( | const B2DPolygon & | rPolygon, |
sal_uInt32 | nCount = 1 |
||
) |
Definition at line 284 of file b2dpolypolygon.cxx.
References mpPolyPolygon, and nCount.
Referenced by basegfx::utils::adaptiveSubdivideByAngle(), basegfx::utils::adaptiveSubdivideByDistance(), basegfx::utils::addPointsAtCutsAndTouches(), basegfx::utils::ImplB2DClipState::addPolyPolygon(), basegfx::unotools::UnoPolyPolygon::addPolyPolygon(), basegfx::utils::applyLineDashing(), basegfx::utils::clipPolygonOnParallelAxis(), basegfx::utils::clipPolyPolygonOnParallelAxis(), basegfx::utils::clipPolyPolygonOnPolyPolygon(), basegfx::utils::clipPolyPolygonOnRange(), basegfx::utils::createAreaGeometry(), basegfx::utils::createAreaGeometryForLineStartEnd(), basegfx::utils::createB2DPolyPolygonFromB3DPolyPolygon(), basegfx::utils::createNonzeroConform(), basegfx::utils::createSevenSegmentPolyPolygon(), basegfx::utils::distort(), basegfx::utils::expandToCurve(), basegfx::unotools::UnoPolyPolygon::getSubsetPolyPolygon(), basegfx::utils::growInNormalDirection(), basegfx::utils::importFromSvgD(), basegfx::utils::interpolate(), basegfx::utils::ImplB2DClipState::makeNull(), basegfx::utils::mergeToSinglePolyPolygon(), basegfx::utils::number2PolyPolygon(), basegfx::unotools::polyPolygonFromBezier2DSequenceSequence(), basegfx::unotools::polyPolygonFromPoint2DSequenceSequence(), basegfx::utils::reSegmentPolyPolygon(), basegfx::utils::simplifyCurveSegments(), basegfx::utils::snapPointsOfHorizontalOrVerticalEdges(), basegfx::utils::solvePolygonOperationAnd(), basegfx::utils::solvePolygonOperationDiff(), basegfx::utils::solvePolygonOperationOr(), basegfx::utils::solvePolygonOperationXor(), basegfx::utils::stripDispensablePolygons(), basegfx::utils::stripNeutralPolygons(), basegfx::utils::UnoPointSequenceSequenceToB2DPolyPolygon(), and basegfx::utils::UnoPolyPolygonBezierCoordsToB2DPolyPolygon().
void basegfx::B2DPolyPolygon::append | ( | const B2DPolyPolygon & | rPolyPolygon | ) |
Definition at line 331 of file b2dpolypolygon.cxx.
References count(), and mpPolyPolygon.
bool basegfx::B2DPolyPolygon::areControlPointsUsed | ( | ) | const |
Definition at line 265 of file b2dpolypolygon.cxx.
References a, basegfx::B2DPolygon::areControlPointsUsed(), count(), and getB2DPolygon().
Referenced by basegfx::utils::adaptiveSubdivideByAngle(), basegfx::utils::adaptiveSubdivideByDistance(), basegfx::utils::simplifyCurveSegments(), and basegfx::triangulator::triangulate().
B2DPolygon * basegfx::B2DPolyPolygon::begin | ( | ) |
Definition at line 410 of file b2dpolypolygon.cxx.
References mpPolyPolygon.
const B2DPolygon * basegfx::B2DPolyPolygon::begin | ( | ) | const |
Definition at line 400 of file b2dpolypolygon.cxx.
References mpPolyPolygon.
Referenced by basegfx::ImplB2DPolyPolygon::insert(), and basegfx::utils::isInside().
void basegfx::B2DPolyPolygon::clear | ( | ) |
Definition at line 343 of file b2dpolypolygon.cxx.
References mpPolyPolygon.
Referenced by basegfx::utils::applyLineDashing(), basegfx::utils::ImplB2DClipState::commitPendingPolygons(), basegfx::utils::createNonzeroConform(), basegfx::utils::importFromSvgD(), and basegfx::utils::ImplB2DClipState::makeNull().
sal_uInt32 basegfx::B2DPolyPolygon::count | ( | ) | const |
Definition at line 249 of file b2dpolypolygon.cxx.
References mpPolyPolygon.
Referenced by basegfx::utils::addPointsAtCuts(), basegfx::utils::addPointsAtCutsAndTouches(), append(), basegfx::utils::applyLineDashing(), areControlPointsUsed(), basegfx::utils::B2DPolyPolygonToUnoPointSequenceSequence(), basegfx::utils::B2DPolyPolygonToUnoPolyPolygonBezierCoords(), basegfx::utils::clipPolygonOnParallelAxis(), basegfx::utils::clipPolygonOnPolyPolygon(), basegfx::utils::clipPolygonOnRange(), basegfx::utils::clipPolyPolygonOnParallelAxis(), basegfx::utils::clipPolyPolygonOnPolyPolygon(), basegfx::utils::clipPolyPolygonOnRange(), basegfx::utils::ImplB2DClipState::commitPendingPolygons(), basegfx::utils::ImplB2DClipState::commitPendingRanges(), basegfx::utils::correctOrientations(), basegfx::utils::correctOutmostPolygon(), basegfx::utils::createAreaGeometryForLineStartEnd(), basegfx::utils::createNonzeroConform(), basegfx::utils::exportToSvgD(), flip(), getB2DRange(), getDefaultAdaptiveSubdivision(), basegfx::unotools::UnoPolyPolygon::getNumberOfPolygons(), basegfx::utils::getSmallestDistancePointToPolyPolygon(), basegfx::unotools::UnoPolyPolygon::getSubsetPolyPolygon(), hasDoublePoints(), basegfx::utils::importFromSvgD(), insert(), basegfx::utils::interpolate(), basegfx::utils::ImplB2DClipState::isCleared(), isClosed(), basegfx::utils::isInside(), basegfx::utils::ImplB2DClipState::isNull(), basegfx::utils::ImplB2DClipState::isNullClipPoly(), basegfx::utils::isRectangle(), basegfx::utils::solveCrossovers(), basegfx::utils::solvePolygonOperationAnd(), basegfx::utils::solvePolygonOperationDiff(), basegfx::utils::solvePolygonOperationOr(), basegfx::utils::solvePolygonOperationXor(), basegfx::utils::stripDispensablePolygons(), transform(), and basegfx::triangulator::triangulate().
B2DPolygon * basegfx::B2DPolyPolygon::end | ( | ) |
Definition at line 415 of file b2dpolypolygon.cxx.
References mpPolyPolygon.
const B2DPolygon * basegfx::B2DPolyPolygon::end | ( | ) | const |
Definition at line 405 of file b2dpolypolygon.cxx.
References mpPolyPolygon.
Referenced by basegfx::ImplB2DPolyPolygon::insert(), and basegfx::utils::isInside().
void basegfx::B2DPolyPolygon::flip | ( | ) |
Definition at line 367 of file b2dpolypolygon.cxx.
References count(), and mpPolyPolygon.
Referenced by basegfx::utils::clipPolyPolygonOnPolyPolygon(), and basegfx::utils::solvePolygonOperationDiff().
B2DPolygon const & basegfx::B2DPolyPolygon::getB2DPolygon | ( | sal_uInt32 | nIndex | ) | const |
Definition at line 254 of file b2dpolypolygon.cxx.
References mpPolyPolygon, and nIndex.
Referenced by basegfx::utils::addPointsAtCuts(), basegfx::utils::addPointsAtCutsAndTouches(), areControlPointsUsed(), basegfx::utils::clipPolygonOnParallelAxis(), basegfx::utils::clipPolygonOnRange(), basegfx::utils::clipPolyPolygonOnPolyPolygon(), basegfx::utils::correctOrientations(), basegfx::utils::correctOutmostPolygon(), basegfx::utils::createNonzeroConform(), basegfx::utils::exportToSvgD(), getB2DRange(), basegfx::unotools::UnoPolyPolygon::getBezierSegment(), getDefaultAdaptiveSubdivision(), basegfx::unotools::UnoPolyPolygon::getNumberOfPolygonPoints(), basegfx::unotools::UnoPolyPolygon::getPoint(), basegfx::utils::getSmallestDistancePointToPolyPolygon(), basegfx::unotools::UnoPolyPolygon::getSubsetPolyPolygon(), hasDoublePoints(), basegfx::utils::interpolate(), isClosed(), basegfx::unotools::UnoPolyPolygon::isClosed(), basegfx::utils::isInside(), basegfx::utils::ImplB2DClipState::isNullClipPoly(), basegfx::utils::isRectangle(), setB2DPolygon(), basegfx::unotools::UnoPolyPolygon::setBezierSegment(), basegfx::unotools::UnoPolyPolygon::setClosed(), basegfx::unotools::UnoPolyPolygon::setPoint(), basegfx::utils::stripDispensablePolygons(), and basegfx::triangulator::triangulate().
B2DRange basegfx::B2DPolyPolygon::getB2DRange | ( | ) | const |
Get the B2DRange (Rectangle dimensions) of this B2DPolyPolygon.
For details refer to B2DPolygon::getB2DRange()
Definition at line 313 of file b2dpolypolygon.cxx.
References a, count(), basegfx::Range2D< TYPE, TRAITS >::expand(), getB2DPolygon(), and basegfx::B2DPolygon::getB2DRange().
Referenced by basegfx::utils::addPointsAtCuts(), basegfx::utils::clipPolyPolygonOnPolyPolygon(), basegfx::utils::mergeToSinglePolyPolygon(), and basegfx::utils::solvePolygonOperationAnd().
B2DPolyPolygon basegfx::B2DPolyPolygon::getDefaultAdaptiveSubdivision | ( | ) | const |
Default adaptive subdivision access.
For details refer to B2DPolygon::getDefaultAdaptiveSubdivision()
Definition at line 296 of file b2dpolypolygon.cxx.
References a, basegfx::ImplB2DPolyPolygon::append(), count(), getB2DPolygon(), basegfx::B2DPolygon::getDefaultAdaptiveSubdivision(), mpPolyPolygon, and basegfx::ImplB2DPolyPolygon::reserve().
|
private |
Definition at line 425 of file b2dpolypolygon.cxx.
References mpPolyPolygon.
|
inline |
Definition at line 125 of file b2dpolypolygon.hxx.
bool basegfx::B2DPolyPolygon::hasDoublePoints | ( | ) | const |
Definition at line 375 of file b2dpolypolygon.cxx.
References a, count(), getB2DPolygon(), and basegfx::B2DPolygon::hasDoublePoints().
Referenced by removeDoublePoints().
void basegfx::B2DPolyPolygon::insert | ( | sal_uInt32 | nIndex, |
const B2DPolygon & | rPolygon, | ||
sal_uInt32 | nCount = 1 |
||
) |
Definition at line 278 of file b2dpolypolygon.cxx.
References mpPolyPolygon, nCount, and nIndex.
Referenced by basegfx::unotools::UnoPolyPolygon::setBezierSegments(), and basegfx::unotools::UnoPolyPolygon::setPoints().
void basegfx::B2DPolyPolygon::insert | ( | sal_uInt32 | nIndex, |
const B2DPolyPolygon & | rPolyPolygon | ||
) |
Definition at line 325 of file b2dpolypolygon.cxx.
References count(), mpPolyPolygon, and nIndex.
bool basegfx::B2DPolyPolygon::isClosed | ( | ) | const |
Definition at line 348 of file b2dpolypolygon.cxx.
References a, count(), getB2DPolygon(), and basegfx::B2DPolygon::isClosed().
Referenced by setClosed().
void basegfx::B2DPolyPolygon::makeUnique | ( | ) |
unshare this poly-polygon (and all included polygons) with all internally shared instances
Definition at line 231 of file b2dpolypolygon.cxx.
References mpPolyPolygon.
bool basegfx::B2DPolyPolygon::operator!= | ( | const B2DPolyPolygon & | rPolyPolygon | ) | const |
Definition at line 244 of file b2dpolypolygon.cxx.
|
default |
References begin, count, end, operator!=(), operator==(), and remove().
|
default |
bool basegfx::B2DPolyPolygon::operator== | ( | const B2DPolyPolygon & | rPolyPolygon | ) | const |
Definition at line 236 of file b2dpolypolygon.cxx.
References mpPolyPolygon.
void basegfx::B2DPolyPolygon::remove | ( | sal_uInt32 | nIndex, |
sal_uInt32 | nCount = 1 |
||
) |
Definition at line 337 of file b2dpolypolygon.cxx.
References mpPolyPolygon, nCount, and nIndex.
Referenced by basegfx::utils::clipPolygonOnParallelAxis(), and basegfx::utils::clipPolyPolygonOnPolyPolygon().
void basegfx::B2DPolyPolygon::removeDoublePoints | ( | ) |
Definition at line 386 of file b2dpolypolygon.cxx.
References hasDoublePoints(), and mpPolyPolygon.
void basegfx::B2DPolyPolygon::reserve | ( | sal_uInt32 | nCount | ) |
Definition at line 290 of file b2dpolypolygon.cxx.
References mpPolyPolygon, and nCount.
Referenced by basegfx::utils::mergeToSinglePolyPolygon(), basegfx::utils::solveCrossovers(), and basegfx::utils::UnoPointSequenceSequenceToB2DPolyPolygon().
void basegfx::B2DPolyPolygon::setB2DPolygon | ( | sal_uInt32 | nIndex, |
const B2DPolygon & | rPolygon | ||
) |
Definition at line 259 of file b2dpolypolygon.cxx.
References getB2DPolygon(), mpPolyPolygon, and nIndex.
Referenced by basegfx::utils::correctOrientations(), basegfx::utils::correctOutmostPolygon(), basegfx::unotools::UnoPolyPolygon::setBezierSegment(), basegfx::unotools::UnoPolyPolygon::setClosed(), and basegfx::unotools::UnoPolyPolygon::setPoint().
void basegfx::B2DPolyPolygon::setClosed | ( | bool | bNew | ) |
Definition at line 361 of file b2dpolypolygon.cxx.
References isClosed(), and mpPolyPolygon.
Referenced by basegfx::utils::createAreaGeometryForLineStartEnd(), and basegfx::unotools::UnoPolyPolygon::setClosed().
void basegfx::B2DPolyPolygon::transform | ( | const basegfx::B2DHomMatrix & | rMatrix | ) |
Definition at line 392 of file b2dpolypolygon.cxx.
References count(), basegfx::B2DHomMatrix::isIdentity(), and mpPolyPolygon.
Referenced by basegfx::unotools::UnoPolyPolygon::addPolyPolygon(), basegfx::utils::createAreaGeometryForLineStartEnd(), basegfx::utils::number2PolyPolygon(), and basegfx::utils::ImplB2DClipState::transform().
|
private |
Definition at line 39 of file b2dpolypolygon.hxx.
Referenced by addOrReplaceSystemDependentDataInternal(), append(), begin(), clear(), count(), end(), flip(), getB2DPolygon(), getDefaultAdaptiveSubdivision(), getSystemDependantDataInternal(), insert(), makeUnique(), operator==(), remove(), removeDoublePoints(), reserve(), setB2DPolygon(), setClosed(), and transform().