package org.geogebra.common.geogebra3D.kernel3D.commands; import org.geogebra.common.geogebra3D.kernel3D.algos.AlgoPolarLine3D; import org.geogebra.common.geogebra3D.kernel3D.algos.AlgoPolarPoint3D; import org.geogebra.common.kernel.Kernel; import org.geogebra.common.kernel.advanced.CmdPolar; import org.geogebra.common.kernel.geos.GeoElement; import org.geogebra.common.kernel.kernelND.GeoConicND; import org.geogebra.common.kernel.kernelND.GeoLineND; import org.geogebra.common.kernel.kernelND.GeoPointND; /** * Polar command */ public class CmdPolar3D extends CmdPolar { /** * @param kernel * Kernel */ public CmdPolar3D(Kernel kernel) { super(kernel); } @Override protected GeoElement polarLine(String label, GeoPointND P, GeoConicND c) { if (P.isGeoElement3D() || c.isGeoElement3D()) { AlgoPolarLine3D algo = new AlgoPolarLine3D(cons, label, c, P); return (GeoElement) algo.getLine(); } return super.polarLine(label, P, c); } @Override protected GeoElement polarPoint(String label, GeoLineND line, GeoConicND c) { if (line.isGeoElement3D() || c.isGeoElement3D()) { AlgoPolarPoint3D algo = new AlgoPolarPoint3D(cons, label, c, line); return (GeoElement) algo.getPoint(); } return super.polarPoint(label, line, c); } }