LibreOffice Module basegfx (master) 1
Namespaces | Functions
b2dpolypolygoncutter.cxx File Reference
#include <basegfx/numeric/ftools.hxx>
#include <basegfx/polygon/b2dpolypolygoncutter.hxx>
#include <basegfx/point/b2dpoint.hxx>
#include <basegfx/vector/b2dvector.hxx>
#include <basegfx/polygon/b2dpolygon.hxx>
#include <basegfx/polygon/b2dpolygontools.hxx>
#include <basegfx/polygon/b2dpolygoncutandtouch.hxx>
#include <basegfx/range/b2drange.hxx>
#include <basegfx/polygon/b2dpolypolygontools.hxx>
#include <basegfx/curve/b2dcubicbezier.hxx>
#include <sal/log.hxx>
#include <utility>
#include <vector>
#include <algorithm>
#include <numeric>
Include dependency graph for b2dpolypolygoncutter.cxx:

Go to the source code of this file.

Namespaces

namespace  basegfx
 
namespace  basegfx::utils
 

Functions

B2DPolyPolygon basegfx::utils::solveCrossovers (const B2DPolyPolygon &rCandidate, size_t *pPointLimit=nullptr)
 Solve all crossovers (aka self-intersections) in a polyPolygon. More...
 
B2DPolyPolygon basegfx::utils::solveCrossovers (const B2DPolygon &rCandidate)
 Solve all crossovers (aka self-intersections) in a Polygon. More...
 
B2DPolyPolygon basegfx::utils::stripNeutralPolygons (const B2DPolyPolygon &rCandidate)
 Strip neutral polygons from PolyPolygon. More...
 
B2DPolyPolygon basegfx::utils::createNonzeroConform (const B2DPolyPolygon &rCandidate)
 Emulate nonzero winding rule filling. More...
 
B2DPolyPolygon basegfx::utils::stripDispensablePolygons (const B2DPolyPolygon &rCandidate, bool bKeepAboveZero=false)
 Remove unnecessary/non-displayed polygons. More...
 
B2DPolyPolygon basegfx::utils::prepareForPolygonOperation (const B2DPolygon &rCandidate)
 prep for ops - solve self-intersections and intersections, remove neutral parts and check orientations. More...
 
B2DPolyPolygon basegfx::utils::prepareForPolygonOperation (const B2DPolyPolygon &rCandidate)
 prep for ops - solve self-intersections and intersections, remove neutral parts and check orientations. More...
 
B2DPolyPolygon basegfx::utils::solvePolygonOperationOr (const B2DPolyPolygon &rCandidateA, const B2DPolyPolygon &rCandidateB)
 OR: Return all areas where CandidateA or CandidateB exist. More...
 
B2DPolyPolygon basegfx::utils::solvePolygonOperationXor (const B2DPolyPolygon &rCandidateA, const B2DPolyPolygon &rCandidateB)
 XOR: Return all areas where CandidateA or CandidateB exist, but not both. More...
 
B2DPolyPolygon basegfx::utils::solvePolygonOperationAnd (const B2DPolyPolygon &rCandidateA, const B2DPolyPolygon &rCandidateB)
 AND: Return all areas where CandidateA and CandidateB exist. More...
 
B2DPolyPolygon basegfx::utils::solvePolygonOperationDiff (const B2DPolyPolygon &rCandidateA, const B2DPolyPolygon &rCandidateB)
 DIFF: Return all areas where CandidateA is not covered by CandidateB (cut B out of A) More...
 
B2DPolyPolygon basegfx::utils::mergeToSinglePolyPolygon (const B2DPolyPolygonVector &rInput)
 merge all single PolyPolygons to a single, OR-ed PolyPolygon More...
 

Variable Documentation

◆ maCorrectionTable

std::vector< CorrectionPair > maCorrectionTable
private

Definition at line 108 of file b2dpolypolygoncutter.cxx.

◆ maNext

B2DVector maNext

Definition at line 61 of file b2dpolypolygoncutter.cxx.

◆ maOriginal

const B2DPolyPolygon maOriginal
private

Definition at line 103 of file b2dpolypolygoncutter.cxx.

◆ maOriginalNext

B2DVector maOriginalNext

Definition at line 67 of file b2dpolypolygoncutter.cxx.

◆ maPNV

PNV maPNV
private

Definition at line 104 of file b2dpolypolygoncutter.cxx.

◆ maPoint

B2DPoint maPoint

Definition at line 51 of file b2dpolypolygoncutter.cxx.

◆ maPrev

B2DVector maPrev

Definition at line 60 of file b2dpolypolygoncutter.cxx.

◆ maRange

B2DRange maRange

Definition at line 43 of file b2dpolypolygoncutter.cxx.

◆ maSNV

SNV maSNV
private

Definition at line 106 of file b2dpolypolygoncutter.cxx.

◆ maVNV

VNV maVNV
private

Definition at line 105 of file b2dpolypolygoncutter.cxx.

◆ mbChanged

bool mbChanged
private

Definition at line 111 of file b2dpolypolygoncutter.cxx.

◆ mbIsCurve

bool mbIsCurve
private

Definition at line 110 of file b2dpolypolygoncutter.cxx.

◆ meOrinetation

B2VectorOrientation meOrinetation

Definition at line 45 of file b2dpolypolygoncutter.cxx.

◆ mnDepth

sal_Int32 mnDepth

Definition at line 44 of file b2dpolypolygoncutter.cxx.

◆ mnI

sal_uInt32 mnI

Definition at line 52 of file b2dpolypolygoncutter.cxx.

◆ mnIN

sal_uInt32 mnIN

Definition at line 54 of file b2dpolypolygoncutter.cxx.

◆ mnIP

sal_uInt32 mnIP

Definition at line 53 of file b2dpolypolygoncutter.cxx.

◆ mpPN

PN* mpPN

Definition at line 73 of file b2dpolypolygoncutter.cxx.