/** Compute the ticks, sub-ticks data and the sub-ticks density. */ private void computeTicksData() { if (graduations != null) { ticksValue = graduations.getAllValues(); final int N = rulerModel.getSubticksNumber(); if (N < 0) { Graduations subGraduation = graduations.getSubGraduations(); while ((subGraduation != null) && (computeTicksDistance(subGraduation) < rulerModel.getMinimalSubTicksDistance())) { subGraduation = subGraduation.getAlternative(); } if (subGraduation != null) { subTicksValue = subGraduation.getAllValues(); } else { subTicksValue = new LinkedList<Double>(); } } else { subTicksValue = graduations.getSubGraduations(N); } density = getDensity(); } else { subTicksValue = new LinkedList<Double>(); ticksValue = new LinkedList<Double>(); density = 0; } }