package org.geogebra.common.geogebra3D.kernel3D.algos;
import org.geogebra.common.geogebra3D.kernel3D.geos.GeoVector3D;
import org.geogebra.common.kernel.Construction;
import org.geogebra.common.kernel.Matrix.Coords;
import org.geogebra.common.kernel.algos.AlgoVectorPoint;
import org.geogebra.common.kernel.kernelND.GeoPointND;
import org.geogebra.common.kernel.kernelND.GeoVectorND;
/**
* Vector between two points P and Q. Extends AlgoVector
*
* @author ggb3D
*/
public class AlgoVectorPoint3D extends AlgoVectorPoint {
/**
* constructor
*
* @param cons
* @param label
* @param P
*/
public AlgoVectorPoint3D(Construction cons, String label, GeoPointND P) {
super(cons, label, P);
}
public AlgoVectorPoint3D(Construction cons, GeoPointND P) {
super(cons, P);
}
@Override
protected GeoVectorND createNewVector() {
return new GeoVector3D(cons);
}
@Override
protected void setCoords() {
Coords coords = getP().getInhomCoordsInD3();
getVector().setCoords(new double[] { coords.getX(), coords.getY(),
coords.getZ(), 0 });
}
}