private void AddLocalMinPoly(TEdge e1, TEdge e2, IntPoint pt) {
		TEdge e, prevE;
		if(e2.dx == horizontal || (e1.dx > e2.dx)) {
			AddOutPt(e1, pt);
			e2.outIdx = e1.outIdx;
			
			e1.side = EdgeSide.esLeft;
			e2.side = EdgeSide.esRight;
			e = e1;
			if(e.prevInAEL == e2)
				prevE = e2.prevInAEL;
			else
				prevE = e.prevInAEL;
		} else {
			AddOutPt(e2, pt);
			e1.outIdx = e2.outIdx;
			e1.side = EdgeSide.esRight;
			e2.side = EdgeSide.esLeft;
			e = e2;
			if(e.prevInAEL == e1)
				prevE = e1.prevInAEL;
			else
				prevE = e.prevInAEL;
		}

		if(prevE != null && prevE.outIdx >= 0 && (TopX(prevE, pt.y) == TopX(e, pt.y)) && SlopesEqual(e, prevE, m_UseFullRange)) {
			AddJoin(e, prevE, -1, -1);
		}

	}