diff --git a/src/main/java/fr/pasteur/ida/zellige/jzy3D/LocalMaximumsDisplay.java b/src/main/java/fr/pasteur/ida/zellige/jzy3D/LocalMaximumsDisplay.java index 098b025c3b1b209aaa35e8f30d7f6c31da650ea2..6dcf151e8031c63032397c0b72e4f625562bf7e7 100644 --- a/src/main/java/fr/pasteur/ida/zellige/jzy3D/LocalMaximumsDisplay.java +++ b/src/main/java/fr/pasteur/ida/zellige/jzy3D/LocalMaximumsDisplay.java @@ -26,8 +26,9 @@ public class LocalMaximumsDisplay extends AbstractAnalysis { if ( maximumCoordinates != null ) { - Coord3d[] points = new Coord3d[ Coordinate.number ]; - Color[] colors = new Color[ Coordinate.number ]; + int length = getNumberOfCoordinates(); + Coord3d[] points = new Coord3d[ length ]; + Color[] colors = new Color[ length ]; int x; int y; @@ -46,7 +47,7 @@ public class LocalMaximumsDisplay extends AbstractAnalysis { Coordinate pixel = pixels.get(0); x = pixel.getX(); y = pixel.getY(); - z = pixel .getZ(); + z = pixel.getZ(); points[ index ] = new Coord3d( x, y, z ); colors[ index ] = Color.BLACK; index++; @@ -73,4 +74,20 @@ public class LocalMaximumsDisplay extends AbstractAnalysis chart.getScene().add( scatter ); } } + + private int getNumberOfCoordinates() + { + int n = 0; + for ( int i = 0; i <= maximumCoordinates[0].length - 1; i++ ) + { + for ( int j = 0; j <= maximumCoordinates.length - 1 ; j++ ) + { + if( maximumCoordinates[i][j] != null) + { + n += maximumCoordinates[i][j].size(); + } + } + } + return n; + } }