public void addEdgeToBounds(S2Point from,S2Point to){
  if (!boundSet) {
    boundSet=true;
    xmin=xmax=from.x;
    ymin=ymax=from.y;
    zmin=zmax=from.z;
  }
  xmin=Math.min(xmin,Math.min(to.x,from.x));
  ymin=Math.min(ymin,Math.min(to.y,from.y));
  zmin=Math.min(zmin,Math.min(to.z,from.z));
  xmax=Math.max(xmax,Math.max(to.x,from.x));
  ymax=Math.max(ymax,Math.max(to.y,from.y));
  zmax=Math.max(zmax,Math.max(to.z,from.z));
  double approxArcLen=Math.abs(from.x - to.x) + Math.abs(from.y - to.y) + Math.abs(from.z - to.z);
  if (approxArcLen < 0.025) {
    maxDeformation=Math.max(maxDeformation,approxArcLen * 0.0025);
  }
 else   if (approxArcLen < 1.0) {
    maxDeformation=Math.max(maxDeformation,approxArcLen * 0.11);
  }
 else {
    maxDeformation=approxArcLen * 0.5;
  }
}

public void addEdgeToBounds ( S2Point from , S2Point to ) { if ( ! boundSet ) { boundSet = true ; xmin = xmax = from . x ; ymin = ymax = from . y ; zmin = zmax = from . z ; } xmin = Math . min ( xmin , Math . min ( to . x , from . x ) ) ; ymin = Math . min ( ymin , Math . min ( to . y , from . y ) ) ; zmin = Math . min ( zmin , Math . min ( to . z , from . z ) ) ; xmax = Math . max ( xmax , Math . max ( to . x , from . x ) ) ; ymax = Math . max ( ymax , Math . max ( to . y , from . y ) ) ; zmax = Math . max ( zmax , Math . max ( to . z , from . z ) ) ; double approxArcLen = Math . abs ( from . x - to . x ) + Math . abs ( from . y - to . y ) + Math . abs ( from . z - to . z ) ; if ( approxArcLen < 0.025 ) { maxDeformation = Math . max ( maxDeformation , approxArcLen * 0.0025 ) ; } else if ( approxArcLen < 1.0 ) { maxDeformation = Math . max ( maxDeformation , approxArcLen * 0.11 ) ; } else { maxDeformation = approxArcLen * 0.5 ; } }
accumulate a bounding rectangle from provided edges .
