private void calcBoundaries ( ) { minBoundary . x = Double . MAX_VALUE ; maxBoundary . x = Double . MIN_VALUE ; minBoundary . y = Double . MAX_VALUE ; maxBoundary . x = Double . MIN_VALUE ; minBoundary . z = Double . MAX_VALUE ; maxBoundary . z = Double . MIN_VALUE ; xzRadiusMax = Double . MIN_VALUE ; Point3d probe = new Point3d ( ) ; for ( Point3d [ ] list : subunits . getTraces ( ) ) { for ( Point3d p : list ) { probe . set ( p ) ; transformationMatrix . transform ( probe ) ; minBoundary . x = Math . min ( minBoundary . x , probe . x ) ; maxBoundary . x = Math . max ( maxBoundary . x , probe . x ) ; minBoundary . y = Math . min ( minBoundary . y , probe . y ) ; maxBoundary . y = Math . max ( maxBoundary . y , probe . y ) ; minBoundary . z = Math . min ( minBoundary . z , probe . z ) ; maxBoundary . z = Math . max ( maxBoundary . z , probe . z ) ; xzRadiusMax = Math . max ( xzRadiusMax , Math . sqrt ( probe . x * probe . x + probe . z * probe . z ) ) ; } } // System.out.println("MinBoundary: " + minBoundary); // System.out.println("MaxBoundary: " + maxBoundary); // System.out.println("zxRadius: " + xzRadiusMax); }
Calculates the min and max boundaries of the structure after it has been transformed into its canonical orientation .