@Override public void compute() { if (!p.isDefined()) { setUndefined(); return; } double f = v.getDouble(); if (Kernel.isGreater(f, 1) || Kernel.isGreater(0, f)) { setUndefined(); return; } // update bottom points GeoPolygon bottomFace = p.getBottomFace(); if (bottomFace.isConvex()) { getNet().setDefined(); Coords[] points = getPointsCoords(bottomFace); adjustOutputSize(points.length); outputPointsBottom.setLabels(null); for (int i = 0; i < points.length; i++) { outputPointsBottom.getElement(i).setCoords(points[i]); } compute(f, bottomFace, points); } else { setUndefined(); } }
private void setLabels(String[] labels) { // if only one label (e.g. "A") for more than one output, new labels // will be A_1, A_2, ... if (labels != null && labels.length == 1 && // outputPoints.size() > 1 && labels[0] != null && !labels[0].equals("")) { outputPoints.setIndexLabels(labels[0]); } else { outputPoints.setLabels(labels); outputPoints.setIndexLabels( outputPoints.getElement(0).getLabel(StringTemplate.defaultTemplate)); } }