package org.geogebra.desktop.geogebra3D.euclidianInput3D; import org.geogebra.common.euclidian.EuclidianViewCompanion; import org.geogebra.common.geogebra3D.euclidian3D.EuclidianController3D; import org.geogebra.common.geogebra3D.euclidian3D.openGL.Renderer; import org.geogebra.common.geogebra3D.input3D.EuclidianViewInput3DCompanion; import org.geogebra.common.geogebra3D.input3D.Input3D; import org.geogebra.common.main.settings.EuclidianSettings; import org.geogebra.desktop.geogebra3D.euclidian3D.EuclidianView3DD; import org.geogebra.desktop.geogebra3D.euclidian3D.opengl.RendererCheckGLVersionD; import org.geogebra.desktop.geogebra3D.euclidian3D.opengl.RendererJogl; /** * EuclidianView3D with controller using 3D input * * @author mathieu * */ public class EuclidianViewInput3D extends EuclidianView3DD { private Input3D input3D; /** * constructor * * @param ec * euclidian controller * @param settings * settings */ public EuclidianViewInput3D(EuclidianController3D ec, EuclidianSettings settings) { super(ec, settings); } private EuclidianViewInput3DCompanion companionInput3D; @Override protected EuclidianViewCompanion newEuclidianViewCompanion() { companionInput3D = new EuclidianViewInput3DCompanion(this); return companionInput3D; } @Override public EuclidianViewInput3DCompanion getCompanion() { return companionInput3D; } @Override protected void start() { input3D = ((EuclidianControllerInput3D) euclidianController).input3D; input3D.init(this); getCompanion().setInput3D(input3D); super.start(); } @Override protected Renderer createRenderer() { RendererJogl.setDefaultProfile(); // return new RendererLogicalPickingGL2(this, !app.isApplet()); return new RendererCheckGLVersionD(this, true); } }