All Downloads are FREE. Search and download functionalities are using the official Maven repository.

hu.kazocsaba.math.matrix.Vector3Impl Maven / Gradle / Ivy

package hu.kazocsaba.math.matrix;

import hu.kazocsaba.math.matrix.backbone.Vector3Op;

/**
 *
 * @author Kazó Csaba
 */
class Vector3Impl extends VectorImpl implements Vector3 {

	public Vector3Impl() {
		super(3);
	}

	@Override
	public double getX() {
		return getCoordQuick(0);
	}

	@Override
	public double getY() {
		return getCoordQuick(1);
	}

	@Override
	public double getZ() {
		return getCoordQuick(2);
	}

	@Override
	public void setX(double value) {
		setCoordQuick(0, value);
	}

	@Override
	public void setY(double value) {
		setCoordQuick(1, value);
	}

	@Override
	public void setZ(double value) {
		setCoordQuick(2, value);
	}

	@Override
	public Vector4 toHomogeneous() {
		return Vector3Op.toHomogeneous(this);
	}

	@Override
	public Vector3 cross(Vector3 v) {
		return Vector3Op.cross(this, v);
	}

	@Override
	public String toString() {
		return Vector3Op.toString(this);
	}

	@Override
	public Vector3 plus(Matrix m) {
		return (Vector3)Vector3Op.plus(this, m);
	}

	@Override
	public Vector3 minus(Matrix m) {
		return (Vector3)Vector3Op.minus(this, m);
	}

	@Override
	public Vector3 times(double c) {
		return (Vector3)Vector3Op.times(this, c);
	}

	@Override
	public Vector3 normalized() {
		return (Vector3)Vector3Op.normalized(this);
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy