package org.geogebra.common.geogebra3D.euclidianFor3D; import org.geogebra.common.euclidian.EuclidianView; import org.geogebra.common.euclidian.draw.DrawAngle; import org.geogebra.common.kernel.Kernel; import org.geogebra.common.kernel.Matrix.Coords; import org.geogebra.common.kernel.algos.AlgoAngle; import org.geogebra.common.kernel.geos.GeoAngle; /** * @author mathieu * */ public class DrawAngleFor3D extends DrawAngle { /** * @param view * view where the drawable is created * @param angle * angle */ public DrawAngleFor3D(EuclidianView view, GeoAngle angle) { super(view, angle); } @Override public boolean inView(Coords point) { // Coords p = view.getCoordsForView(point); return Kernel.isZero(point.getZ()); } @Override public Coords getCoordsInView(Coords point) { return view.getCoordsForView(point); } @Override protected double getAngleStart(double start, double extent) { if (view.getCompanion().goToZPlus( ((AlgoAngle) getGeoElement().getDrawAlgorithm()).getVn())) { return super.getAngleStart(start, extent); } // reverse orientation return start - extent; } }