Пример #1
0
 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);
 }
Пример #2
0
 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);
             }
         }
     }
 }