package mightypork.utils.math.coord; /** * Mutable coordinate.
* All Vec methods (except copy) alter data values and return this instance. * * @author MightyPork */ public class MutableCoord extends VecMutableImpl { private double x, y, z; /** * Zero coord */ public MutableCoord() { this(0, 0, 0); } /** * @param copied other coord to vopy */ public MutableCoord(Vec copied) { this(copied.x(), copied.y(), copied.z()); } /** * @param x X coordinate * @param y Y coordinate */ public MutableCoord(double x, double y) { super(); this.x = x; this.y = y; this.z = 0; } /** * @param x X coordinate * @param y Y coordinate * @param z Z coordinate */ public MutableCoord(double x, double y, double z) { super(); this.x = x; this.y = y; this.z = z; } @Override public double x() { return x; } @Override public double y() { return y; } @Override public double z() { return z; } @Override public MutableCoord result(double x, double y, double z) { this.x = x; this.y = y; this.z = z; return this; } }