Ejemplo n.º 1
0
 public override IDualSurfaceCurve[] GetDualSurfaceCurves(BoundingRect thisBounds, ISurface other, BoundingRect otherBounds, List <GeoPoint> seeds, List <Tuple <double, double, double, double> > extremePositions)
 {
     // this is always implemented at the more complex surface:
     if (other is PlaneSurface)
     {
         return(GetPlaneIntersection(other as PlaneSurface, thisBounds.Left, thisBounds.Right, thisBounds.Bottom, thisBounds.Top, Precision.eps));
     }
     else
     {
         IDualSurfaceCurve[] res = other.GetDualSurfaceCurves(otherBounds, this, thisBounds, seeds);
         for (int i = 0; i < res.Length; i++)
         {
             res[i].SwapSurfaces();
         }
         return(res);
     }
 }
Ejemplo n.º 2
0
 public IDualSurfaceCurve[] GetDualSurfaceCurves(BoundingRect thisBounds, ISurface other, BoundingRect otherBounds, List <GeoPoint> seeds, List <Tuple <double, double, double, double> > extremePositions = null)
 {
     return(original.GetDualSurfaceCurves(thisBounds, other, otherBounds, seeds, extremePositions));
 }