package mightypork.utils.math.vect; import mightypork.utils.math.constraints.VectBound; /** * The most basic Vec methods * * @author MightyPork */ public interface Vect extends VectBound { Vect ZERO = new VectVal(0, 0, 0); Vect ONE = new VectVal(1, 1, 1); /** * @return X coordinate */ double x(); /** * @return Y coordinate */ double y(); /** * @return Z coordinate */ double z(); /** * @return X rounded */ int xi(); /** * @return Y rounded */ int yi(); /** * @return Z rounded */ int zi(); /** * @return true if zero */ boolean isZero(); /** * Get a static immutable copy of the current state. * * @return a immutable copy */ VectVal copy(); /** * Get dynamic immutable view at this rect * * @return immutable view */ VectView view(); }