package speiger.src.coreengine.math.vector;

import java.nio.ByteBuffer;

public interface Vec
{
	public static final int X = 1;
	public static final int Y = 2;
	public static final int Z = 4;
	public static final int W = 8;
	public static final int ALL = X | Y | Z | W;
		
	public Vec copy();
	public Vec abs();
	public Vec negate();
	public Vec invert();
	public Vec store(ByteBuffer buffer);	
	public Vec load(ByteBuffer buffer);
	public boolean isMutable();
	public Vec asMutable();
	public Vec copyAsMutable();
	public Vec asImmutable();
	public Vec copyAsImmutable();
}
