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

Function GetOverlapSegment

TheForceEngine/TFE_Polygon/clipper.cpp:776–795  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

774//------------------------------------------------------------------------------
775
776bool GetOverlapSegment(IntPoint pt1a, IntPoint pt1b, IntPoint pt2a,
777 IntPoint pt2b, IntPoint &pt1, IntPoint &pt2)
778{
779 //precondition: segments are Collinear.
780 if (Abs(pt1a.X - pt1b.X) > Abs(pt1a.Y - pt1b.Y))
781 {
782 if (pt1a.X > pt1b.X) SwapPoints(pt1a, pt1b);
783 if (pt2a.X > pt2b.X) SwapPoints(pt2a, pt2b);
784 if (pt1a.X > pt2a.X) pt1 = pt1a; else pt1 = pt2a;
785 if (pt1b.X < pt2b.X) pt2 = pt1b; else pt2 = pt2b;
786 return pt1.X < pt2.X;
787 } else
788 {
789 if (pt1a.Y < pt1b.Y) SwapPoints(pt1a, pt1b);
790 if (pt2a.Y < pt2b.Y) SwapPoints(pt2a, pt2b);
791 if (pt1a.Y < pt2a.Y) pt1 = pt1a; else pt1 = pt2a;
792 if (pt1b.Y > pt2b.Y) pt2 = pt1b; else pt2 = pt2b;
793 return pt1.Y > pt2.Y;
794 }
795}
796//------------------------------------------------------------------------------
797
798bool FirstIsBottomPt(const OutPt* btmPt1, const OutPt* btmPt2)

Callers

nothing calls this directly

Calls 2

AbsFunction · 0.85
SwapPointsFunction · 0.85

Tested by

no test coverage detected