Пример #1
0
  @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();
    }
  }
Пример #2
0
  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));
    }
  }