@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); }