MCPcopy Create free account
hub / github.com/MapServer/MapServer / DoMaxima

Method DoMaxima

renderers/agg/src/clipper.cpp:1822–1843  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1820//------------------------------------------------------------------------------
1821
1822void Clipper::DoMaxima(TEdge *e, long64 topY)
1823{
1824 TEdge* eMaxPair = GetMaximaPair(e);
1825 long64 X = e->xtop;
1826 TEdge* eNext = e->nextInAEL;
1827 while( eNext != eMaxPair )
1828 {
1829 if (!eNext) throw clipperException("DoMaxima error");
1830 IntersectEdges( e, eNext, IntPoint(X, topY), ipBoth );
1831 eNext = eNext->nextInAEL;
1832 }
1833 if( e->outIdx < 0 && eMaxPair->outIdx < 0 )
1834 {
1835 DeleteFromAEL( e );
1836 DeleteFromAEL( eMaxPair );
1837 }
1838 else if( e->outIdx >= 0 && eMaxPair->outIdx >= 0 )
1839 {
1840 IntersectEdges( e, eMaxPair, IntPoint(X, topY), ipNone );
1841 }
1842 else throw clipperException("DoMaxima error");
1843}
1844//------------------------------------------------------------------------------
1845
1846void Clipper::ProcessEdgesAtTopOfScanbeam(const long64 topY)

Callers

nothing calls this directly

Calls 3

GetMaximaPairFunction · 0.85
clipperExceptionClass · 0.85
IntPointClass · 0.85

Tested by

no test coverage detected