SimpleJavaEngine/src/main/java/speiger/src/coreengine/math/vector/floats/Vecf.java

35 lines
1.0 KiB
Java

package speiger.src.coreengine.math.vector.floats;
import java.nio.FloatBuffer;
import speiger.src.coreengine.math.vector.Vec;
import speiger.src.coreengine.math.vector.bytes.Vecb;
import speiger.src.coreengine.math.vector.doubles.Vecd;
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 Vecf extends Vec
{
public Vecf set(float value);
public Vecf add(float value);
public Vecf sub(float value);
public Vecf multiply(float value);
public Vecf devide(float value);
public Vecf clamp(float min, float max);
public Vecf clamp(float min, float max, int filter);
public float lengthSquared();
public default float length(){return (float)Math.sqrt(lengthSquared());}
public Vecf store(FloatBuffer buffer);
public Vecf load(FloatBuffer buffer);
public float[] asArray();
public Vecb asByte();
public Vecs asShort();
public Veci asInt();
public Vecl asLong();
public Vecd asDouble();
}