public bool IsOperation(PolyLog ppLog, PolyLog pLog, ClipType ctOperation) { foreach (APPair aP in pLog.ApPairs) { if (aP.AdderComp == this.Comp) { //foreach (APPair apPairThis in this.ApPairs) if (ppLog != null) { foreach (APPair aPP in ppLog.ApPairs) { if (EntraSolver.IsPolyOperation(aP.Poly, aPP.Poly, ClipType.ctIntersection)) { //if (EntraSolver.IsPolyOperation(apPairParent.Poly, apPairThis.Poly, ClipType.ctIntersection)) return(true); } //EntraDrawer.DrawIntoFileTesting(aPP.Poly); //EntraDrawer.DrawIntoFileTesting(aP.Poly); } } else { // Frog return(true); } } } return(false); }
public void Log(PolyLog log) { //if (log.Poly != null) { //if (log.ApPairs.Count != 0) { var addedLog = Logs.Find(l => l.Comp == log.Comp); if (addedLog != null) { //EntraDrawer.DrawIntoFileTesting(log.Poly); //EntraDrawer.DrawIntoFileTesting(addedLog.Poly); addedLog.ApPairs.AddRange(log.ApPairs); //= EntraSolver.GetPolySolution(addedLog.Poly, log.Poly, ClipType.ctUnion); //EntraDrawer.DrawIntoFileTesting(addedLog.Poly); //_logs.Remove(addedLog); } else { Logs.Add(log); } } } }