code: 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);
  	}
docs: Calculates the min and max boundaries of the structure after it has been
  transformed into its canonical orientation.