SimpleJavaEngine/src/main/java/speiger/src/coreengine/math/vector/doubles/Vecd.java

34 lines
1.0 KiB
Java

package speiger.src.coreengine.math.vector.doubles;
import java.nio.DoubleBuffer;
import speiger.src.coreengine.math.vector.Vec;
import speiger.src.coreengine.math.vector.bytes.Vecb;
import speiger.src.coreengine.math.vector.floats.Vecf;
import speiger.src.coreengine.math.vector.ints.Veci;
import speiger.src.coreengine.math.vector.longs.Vecl;
import speiger.src.coreengine.math.vector.shorts.Vecs;
public interface Vecd extends Vec
{
public Vecd set(double value);
public Vecd add(double value);
public Vecd sub(double value);
public Vecd multiply(double value);
public Vecd devide(double value);
public Vecd clamp(double min, double max);
public Vecd clamp(double min, double max, int filter);
public double lengthSquared();
public default double length(){return Math.sqrt(lengthSquared());}
public Vecd store(DoubleBuffer buffer);
public Vecd load(DoubleBuffer buffer);
public double[] asArray();
public Vecb asByte();
public Vecs asShort();
public Veci asInt();
public Vecl asLong();
public Vecf asFloat();
}