package speiger.src.coreengine.rendering.models; import java.nio.ByteBuffer; import java.util.Map; import com.google.gson.JsonElement; import speiger.src.collections.objects.maps.impl.hash.Object2ObjectOpenHashMap; import speiger.src.coreengine.rendering.models.loader.VertexLoader.JsonList; public enum DataType { BYTE("byte", 1), SHORT("short", 2), INT("int", 4), LONG("long", 8), FLOAT("float", 4), DOUBLE("double", 8); static final Map BY_ID = new Object2ObjectOpenHashMap<>(); final String type; final int byteSize; private DataType(String type, int byteSize) { this.type = type; this.byteSize = byteSize; } public String getType() { return type; } public int getByteSize() { return byteSize; } public boolean isFloatingPoint() { return this == FLOAT || this == DOUBLE; } public void putIntoBuffer(ByteBuffer buffer, JsonList list, int offset, int stride, int size) { int index = offset; for(int i = 0,m=list.size();i