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

Function GetOverlapSegment

renderers/agg/src/clipper.cpp:337–356  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

335//------------------------------------------------------------------------------
336
337bool GetOverlapSegment(IntPoint pt1a, IntPoint pt1b, IntPoint pt2a,
338 IntPoint pt2b, IntPoint &pt1, IntPoint &pt2)
339{
340 //precondition: segments are colinear.
341 if ( pt1a.Y == pt1b.Y || Abs((pt1a.X - pt1b.X)/(pt1a.Y - pt1b.Y)) > 1 )
342 {
343 if (pt1a.X > pt1b.X) SwapPoints(pt1a, pt1b);
344 if (pt2a.X > pt2b.X) SwapPoints(pt2a, pt2b);
345 if (pt1a.X > pt2a.X) pt1 = pt1a; else pt1 = pt2a;
346 if (pt1b.X < pt2b.X) pt2 = pt1b; else pt2 = pt2b;
347 return pt1.X < pt2.X;
348 } else
349 {
350 if (pt1a.Y < pt1b.Y) SwapPoints(pt1a, pt1b);
351 if (pt2a.Y < pt2b.Y) SwapPoints(pt2a, pt2b);
352 if (pt1a.Y < pt2a.Y) pt1 = pt1a; else pt1 = pt2a;
353 if (pt1b.Y > pt2b.Y) pt2 = pt1b; else pt2 = pt2b;
354 return pt1.Y > pt2.Y;
355 }
356}
357//------------------------------------------------------------------------------
358
359PolyPt* PolygonBottom(PolyPt* pp)

Callers 2

JoinCommonEdgesMethod · 0.85

Calls 2

AbsFunction · 0.85
SwapPointsFunction · 0.85

Tested by

no test coverage detected