/* GeoGebra - Dynamic Mathematics for Everyone http://www.geogebra.org This file is part of GeoGebra. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation. */ package org.geogebra.common.kernel.kernelND; /** * Interface for 3D vectors (not to be confused with GeoVec3D) */ public interface Geo3DVecInterface extends GeoVecInterface { /** * @param vec * other vector * @return true if this vector and other vector have same coordinates */ public boolean isEqual(Geo3DVecInterface vec); /** * @return x-coord */ @Override public double getX(); /** * @return y-coord */ @Override public double getY(); /** * @return z-coord */ @Override public double getZ(); /** * @return length */ public double length(); /** * @return (Math.round(x), Math.round(y), Math.round(z)) */ public Geo3DVecInterface round(); /** * @return (Math.floor(x), Math.floor(y), Math.floor(z)) */ public Geo3DVecInterface floor(); /** * @return (Math.ceil(x), Math.ceil(y), Math.ceil(z)) */ public Geo3DVecInterface ceil(); /** * @return Math.atan2(y,x) */ public double arg(); /** * @param double1 * coefficient */ public void mult(double double1); /** * @param mode * coordinates mode */ public void setMode(int mode); }