List of usage examples for java.nio ByteBuffer order
Endianness order
To view the source code for java.nio ByteBuffer order.
Click Source Link
From source file:ffx.realspace.CCP4MapFilter.java
/** * {@inheritDoc}/*from w w w.ja v a 2 s .c om*/ */ @Override public Crystal getCrystal(String fileName, CompositeConfiguration properties) { int imapData; int spaceGroup = -1; double cellA = -1.0; double cellB = -1.0; double cellC = -1.0; double cellAlpha = -1.0; double cellBeta = -1.0; double cellGamma = -1.0; ByteOrder byteOrder = ByteOrder.nativeOrder(); FileInputStream fileInputStream; DataInputStream dataInputStream; // first determine byte order of file versus system try { fileInputStream = new FileInputStream(fileName); dataInputStream = new DataInputStream(fileInputStream); dataInputStream.skipBytes(212); byte bytes[] = new byte[4]; dataInputStream.read(bytes, 0, 4); ByteBuffer byteBuffer = ByteBuffer.wrap(bytes); imapData = byteBuffer.order(ByteOrder.BIG_ENDIAN).getInt(); String stampString = Integer.toHexString(imapData); switch (stampString.charAt(0)) { case '1': case '3': if (byteOrder.equals(ByteOrder.LITTLE_ENDIAN)) { byteOrder = ByteOrder.BIG_ENDIAN; } break; case '4': if (byteOrder.equals(ByteOrder.BIG_ENDIAN)) { byteOrder = ByteOrder.LITTLE_ENDIAN; } break; } fileInputStream.close(); } catch (Exception e) { String message = " Fatal exception reading CCP4 map.\n"; logger.log(Level.SEVERE, message, e); } try { fileInputStream = new FileInputStream(fileName); dataInputStream = new DataInputStream(fileInputStream); dataInputStream.skipBytes(40); byte bytes[] = new byte[80]; dataInputStream.read(bytes, 0, 80); ByteBuffer byteBuffer = ByteBuffer.wrap(bytes); cellA = byteBuffer.order(byteOrder).getFloat(); cellB = byteBuffer.order(byteOrder).getFloat(); cellC = byteBuffer.order(byteOrder).getFloat(); cellAlpha = byteBuffer.order(byteOrder).getFloat(); cellBeta = byteBuffer.order(byteOrder).getFloat(); cellGamma = byteBuffer.order(byteOrder).getFloat(); for (int i = 0; i < 3; i++) { byteBuffer.order(byteOrder).getInt(); } for (int i = 0; i < 3; i++) { byteBuffer.order(byteOrder).getFloat(); } spaceGroup = byteBuffer.order(byteOrder).getInt(); fileInputStream.close(); } catch (Exception e) { String message = " Fatal exception reading CCP4 map.\n"; logger.log(Level.SEVERE, message, e); } return new Crystal(cellA, cellB, cellC, cellAlpha, cellBeta, cellGamma, SpaceGroup.spaceGroupNames[spaceGroup - 1]); }
From source file:com.kentdisplays.synccardboarddemo.MainActivity.java
/** * Creates the buffers we use to store information about the 3D world. OpenGL doesn't use Java * arrays, but rather needs data in a format it can understand. Hence we use ByteBuffers. * @param config The EGL configuration used when creating the surface. *///from w ww . j ava 2 s. c o m @Override public void onSurfaceCreated(EGLConfig config) { Log.i(TAG, "onSurfaceCreated"); // make a floor ByteBuffer bbFloorVertices = ByteBuffer.allocateDirect(DATA.FLOOR_COORDS.length * 4); bbFloorVertices.order(ByteOrder.nativeOrder()); mFloorVertices = bbFloorVertices.asFloatBuffer(); mFloorVertices.put(DATA.FLOOR_COORDS); mFloorVertices.position(0); ByteBuffer bbFloorNormals = ByteBuffer.allocateDirect(DATA.FLOOR_NORMALS.length * 4); bbFloorNormals.order(ByteOrder.nativeOrder()); mFloorNormals = bbFloorNormals.asFloatBuffer(); mFloorNormals.put(DATA.FLOOR_NORMALS); mFloorNormals.position(0); ByteBuffer bbFloorColors = ByteBuffer.allocateDirect(DATA.FLOOR_COLORS.length * 4); bbFloorColors.order(ByteOrder.nativeOrder()); mFloorColors = bbFloorColors.asFloatBuffer(); mFloorColors.put(DATA.FLOOR_COLORS); mFloorColors.position(0); int vertexShader = loadGLShader(GLES20.GL_VERTEX_SHADER, R.raw.light_vertex); int gridShader = loadGLShader(GLES20.GL_FRAGMENT_SHADER, R.raw.grid_fragment); mGlProgram = GLES20.glCreateProgram(); GLES20.glAttachShader(mGlProgram, vertexShader); GLES20.glAttachShader(mGlProgram, gridShader); GLES20.glLinkProgram(mGlProgram); GLES20.glEnable(GLES20.GL_DEPTH_TEST); Matrix.setIdentityM(mModelFloor, 0); Matrix.translateM(mModelFloor, 0, 0, -mFloorDepth, 0); // Floor appears below user // Create the placeholder pages. mPages = new Page[4]; mPages[0] = new Page(getResources().openRawResource(R.raw.boogie_board), mGlProgram, 0); mPages[1] = new Page(getResources().openRawResource(R.raw.house), mGlProgram, 1); mPages[2] = new Page(getResources().openRawResource(R.raw.placeholder), mGlProgram, 2); mPages[3] = new Page(getResources().openRawResource(R.raw.cylinder), mGlProgram, 3); checkGLError("onSurfaceCreated"); }
From source file:au.org.ala.delta.io.BinFile.java
public void writeInt(int value) { ByteBuffer b = ByteBuffer.allocate(4); b.order(ByteOrder.LITTLE_ENDIAN); b.putInt(value);/*from w ww. j a va2 s .c om*/ writeBytes(b); }
From source file:au.org.ala.delta.io.BinFile.java
public void writeLong(long value) { ByteBuffer b = ByteBuffer.allocate(8); b.order(ByteOrder.LITTLE_ENDIAN); b.putLong(value);/* w w w .j a v a2 s . c o m*/ writeBytes(b); }
From source file:au.org.ala.delta.io.BinFile.java
public void writeShort(short value) { ByteBuffer buffer = ByteBuffer.allocate(2); buffer.order(ByteOrder.LITTLE_ENDIAN); buffer.putShort(value);//www. j a va 2 s. c o m writeBytes(buffer); }
From source file:ffx.xray.CCP4MapFilter.java
/** * {@inheritDoc}/*from w ww . j a va2 s . c om*/ */ @Override public Crystal getCrystal(String filename, CompositeConfiguration properties) { int imapdata; int sg = -1; double cella = -1.0; double cellb = -1.0; double cellc = -1.0; double cellalpha = -1.0; double cellbeta = -1.0; double cellgamma = -1.0; ByteOrder b = ByteOrder.nativeOrder(); FileInputStream fis; DataInputStream dis; // first determine byte order of file versus system try { fis = new FileInputStream(filename); dis = new DataInputStream(fis); dis.skipBytes(212); byte bytes[] = new byte[4]; dis.read(bytes, 0, 4); ByteBuffer bb = ByteBuffer.wrap(bytes); imapdata = bb.order(ByteOrder.BIG_ENDIAN).getInt(); String stampstr = Integer.toHexString(imapdata); // System.out.println("stamp: " + stampstr); switch (stampstr.charAt(0)) { case '1': case '3': if (b.equals(ByteOrder.LITTLE_ENDIAN)) { b = ByteOrder.BIG_ENDIAN; } break; case '4': if (b.equals(ByteOrder.BIG_ENDIAN)) { b = ByteOrder.LITTLE_ENDIAN; } break; } fis.close(); } catch (Exception e) { String message = "Fatal exception reading CCP4 map.\n"; logger.log(Level.SEVERE, message, e); System.exit(-1); } try { fis = new FileInputStream(filename); dis = new DataInputStream(fis); dis.skipBytes(40); byte bytes[] = new byte[80]; dis.read(bytes, 0, 80); ByteBuffer bb = ByteBuffer.wrap(bytes); cella = bb.order(b).getFloat(); cellb = bb.order(b).getFloat(); cellc = bb.order(b).getFloat(); cellalpha = bb.order(b).getFloat(); cellbeta = bb.order(b).getFloat(); cellgamma = bb.order(b).getFloat(); for (int i = 0; i < 3; i++) { bb.order(b).getInt(); } for (int i = 0; i < 3; i++) { bb.order(b).getFloat(); } sg = bb.order(b).getInt(); fis.close(); } catch (Exception e) { String message = "Fatal exception reading CCP4 map.\n"; logger.log(Level.SEVERE, message, e); System.exit(-1); } return new Crystal(cella, cellb, cellc, cellalpha, cellbeta, cellgamma, SpaceGroup.spaceGroupNames[sg - 1]); }
From source file:au.org.ala.delta.io.BinFile.java
public void writeByte(byte b) { try {//from ww w . j ava 2s . c o m // _file.write(b); ByteBuffer bb = ByteBuffer.allocate(1); bb.order(ByteOrder.LITTLE_ENDIAN); bb.put(b); bb.position(0); _channel.write(bb); } catch (IOException ioex) { throw new RuntimeException(ioex); } }
From source file:xbird.util.nio.RemoteMemoryMappedFile.java
private int[] recvResponse(final ReadableByteChannel channel, final ByteBuffer buf, final int dstlen) throws IOException { buf.clear();//from w w w .j a v a 2 s .c om // set endian optimized for this machine final boolean isBufBigEndian = (buf.order() == ByteOrder.BIG_ENDIAN); if (_bigEndian != isBufBigEndian) { buf.order(_bigEndian ? ByteOrder.BIG_ENDIAN : ByteOrder.LITTLE_ENDIAN); } NIOUtils.readFully(channel, buf, _pageSize); buf.flip(); IntBuffer ibuf = buf.asIntBuffer(); int[] dst = new int[dstlen]; ibuf.get(dst); return dst; }
From source file:au.org.ala.delta.io.BinFile.java
public void writeInts(int[] values) { ByteBuffer b = ByteBuffer.allocate(values.length * 4); b.order(ByteOrder.LITTLE_ENDIAN); for (int value : values) { b.putInt(value);//ww w .ja v a 2s . c o m } writeBytes(b); }
From source file:au.org.ala.delta.io.BinFile.java
public void writeBytes(byte[] buffer) { try {// www. ja va 2 s . c o m ByteBuffer bb = ByteBuffer.allocate(buffer.length); bb.order(ByteOrder.LITTLE_ENDIAN); bb.put(buffer); bb.position(0); _channel.write(bb); // _file.write(buffer); } catch (IOException ioex) { throw new RuntimeException(ioex); } }