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

Method IsContributing

renderers/agg/src/clipper.cpp:922–938  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

920//------------------------------------------------------------------------------
921
922bool Clipper::IsContributing(const TEdge& edge) const
923{
924 switch( m_ClipType ){
925 case ctIntersection:
926 if ( edge.polyType == ptSubject )
927 return Abs(edge.windCnt) == 1 && edge.windCnt2 != 0; else
928 return Abs(edge.windCnt2) > 0 && Abs(edge.windCnt) == 1;
929 case ctUnion:
930 return Abs(edge.windCnt) == 1 && edge.windCnt2 == 0;
931 case ctDifference:
932 if ( edge.polyType == ptSubject )
933 return std::abs(edge.windCnt) == 1 && edge.windCnt2 == 0; else
934 return std::abs(edge.windCnt) == 1 && edge.windCnt2 != 0;
935 default: //case ctXor:
936 return std::abs(edge.windCnt) == 1;
937 }
938}
939//------------------------------------------------------------------------------
940
941void Clipper::AddLocalMinPoly(TEdge *e1, TEdge *e2, const IntPoint &pt)

Callers

nothing calls this directly

Calls 1

AbsFunction · 0.85

Tested by

no test coverage detected