package org.geogebra.common.geogebra3D.kernel3D.commands;
import org.geogebra.common.kernel.Kernel;
import org.geogebra.common.kernel.commands.CmdConic;
import org.geogebra.common.kernel.geos.GeoElement;
import org.geogebra.common.kernel.kernelND.GeoPointND;
/**
* Conic through five points
*
*/
public class CmdConic3D extends CmdConic {
/**
* @param kernel
* kernel
*/
public CmdConic3D(Kernel kernel) {
super(kernel);
}
@Override
protected GeoElement conic(String label, GeoElement[] arg) {
GeoPointND[] points = new GeoPointND[5];
boolean is3D = false;
for (int i = 0; i < 5; i++) {
points[i] = (GeoPointND) arg[i];
if (!is3D && points[i].isGeoElement3D()) {
is3D = true;
}
}
if (is3D) {
return kernelA.getManager3D().Conic3D(label, points);
}
return super.conic(label, arg);
}
}