Exemplo n.º 1
0
  @Override
  public void compute() {

    // check origin
    if (!((GeoElement) origin).isDefined() || origin.isInfinite()) {
      getQuadric().setUndefined();
      return;
    }

    // check direction
    Coords d = getDirection();

    if (d.equalsForKernel(0, Kernel.STANDARD_PRECISION)) {
      getQuadric().setUndefined();
      return;
    }

    // check number
    double r = getComputer().getNumber(((NumberValue) getNumber()).getDouble());
    if (Double.isNaN(r)) {
      getQuadric().setUndefined();
      return;
    }

    // compute the quadric
    getQuadric().setDefined();
    getComputer().setQuadric(getQuadric(), origin.getInhomCoordsInD(3), d, r);
  }