package org.geogebra.common.kernel;
import org.geogebra.common.kernel.Construction.Constants;
import org.geogebra.common.kernel.geos.GeoElement;
import org.geogebra.common.kernel.kernelND.GeoAxisND;
import org.geogebra.common.kernel.kernelND.GeoDirectionND;
/**
* Extends Construction (for 3D stuff)
*
* @author Mathieu
*
*/
public class ConstructionCompanion {
/** construction */
protected Construction cons;
/**
* default constructor
*
* @param cons
* construction
*
*/
public ConstructionCompanion(Construction cons) {
this.cons = cons;
}
/**
* Create 3D constant objects
*/
public void init() {
// nothing needed here
}
/**
* @return z-axis (in 3D)
*/
public GeoAxisND getZAxis() {
return null;
}
/**
* @return xOy plane (in 3D)
*/
public GeoDirectionND getXOYPlane() {
return null;
}
/**
* @return space placeholder
*/
public GeoDirectionND getSpace() {
return null;
}
/**
* @return clipping cube
*/
public GeoElement getClippingCube() {
return null;
}
/**
* @return the ConstructionDefaults consDefaults
*/
public ConstructionDefaults newConstructionDefaults() {
return new ConstructionDefaults(cons);
}
/**
* init 3D geos
*/
protected void initGeoTables() {
// no 3D geos in 2D
}
/**
* update z-axis name
*/
public void updateLocalAxesNames() {
// no z-axis in 2D
}
/**
* @param geo
* geo element, xAxis or yAxis never as input
* @return whether it's space, xYo plane
*/
public Constants isConstantElement(GeoElement geo) {
return Constants.NOT;
}
/**
* @return whether it's 3D construction
*/
public boolean is3D() {
return false;
}
}