public RealInterval getTilesExtent() { final Dimensions dims = intervalRender; double[] mins = Util.getArrayFromValue( Double.MAX_VALUE, dims.numDimensions() ); double[] maxs = Util.getArrayFromValue( -Double.MAX_VALUE, dims.numDimensions() ); for (AffineTransform3D tt : tileTransforms.values()) { for (int d = 0; d < dims.numDimensions(); d++) { mins[d] = Math.min( mins[d], -tt.getTranslation()[d] ); maxs[d] = Math.max( maxs[d], -tt.getTranslation()[d] + dims.dimension( d ) ); } } return new FinalRealInterval( mins, maxs ); }
viewRegistration.preconcatenateTransform( vt ); double[] translation = sb.tileTransforms.get( tile ).inverse().getTranslation(); for (int i = 0; i < translation.length; i++) translation[i] *= relativeTileError;
generateRegularGrid.forEach( ( t ) -> tileShifts.add( t.getTranslation() ));