/** * Create a new DoubleBuffer of the specified size. * * @param size * required number of double to store. * @return the new DoubleBuffer */ public static DoubleBuffer createDoubleBuffer(int size) { DoubleBuffer buf = allocator.allocate(8 * size).order(ByteOrder.nativeOrder()).asDoubleBuffer(); buf.clear(); onBufferAllocated(buf); return buf; }
public void setJoints(SkeletonJoint[] joints) { if(joints == null) return; mJoints = joints; if (mBoneMatrices == null) { mBoneMatrices = ByteBuffer .allocateDirect(joints.length * DOUBLE_SIZE_BYTES * 16) .order(ByteOrder.nativeOrder()).asDoubleBuffer(); } else mBoneMatrices.clear(); mBoneMatrices.put(uBoneMatrix); mBoneMatrices.position(0); mBoneMatricesBufferInfo.buffer = mBoneMatrices; mGeometry.addBuffer(mBoneMatricesBufferInfo, BufferType.FLOAT_BUFFER, GLES20.GL_ARRAY_BUFFER); }
@Override public void destroy() { int[] buffers = new int[1]; if(mBoneMatricesBufferInfo != null) buffers[0] = mBoneMatricesBufferInfo.bufferHandle; GLES20.glDeleteBuffers(buffers.length, buffers, 0); if(mBoneMatrices != null) mBoneMatrices.clear(); mBoneMatrices=null; if(mBoneMatricesBufferInfo != null && mBoneMatricesBufferInfo.buffer != null) { mBoneMatricesBufferInfo.buffer.clear(); mBoneMatricesBufferInfo.buffer=null; } super.destroy(); }
public void setShaderParams(Camera camera) { if (!mIsPlaying) return; mBoneMatrices.clear(); mBoneMatrices.position(0);
public void clear() { buffer.clear(); this.size = -1; }
@Override public void getElements(double[] dest, int offset) { buffer.get(dest, offset, length); buffer.clear(); }
@Override public void getElements(double[] dest, int offset) { buffer.get(dest, offset, length); buffer.clear(); }
/** * Create a new DoubleBuffer of the specified size. * * @param size * required number of double to store. * @return the new DoubleBuffer */ public static DoubleBuffer createDoubleBufferOnHeap(final int size) { final DoubleBuffer buf = ByteBuffer.allocate(8 * size).order(ByteOrder.nativeOrder()).asDoubleBuffer(); buf.clear(); return buf; }
/** * Create a new DoubleBuffer of the specified size. * * @param size * required number of double to store. * @return the new DoubleBuffer */ public static DoubleBuffer createDoubleBufferOnHeap(final int size) { final DoubleBuffer buf = ByteBuffer.allocate(8 * size).order(ByteOrder.nativeOrder()).asDoubleBuffer(); buf.clear(); return buf; }
@Override public BufferVector exactClone() { double[] newArray=new double[length]; buffer.get(newArray); buffer.clear(); return BufferVector.wrap(newArray); }
/** * Updates this window with the sample values in the region starting at current iterator position. * This method assumes that {@link #next()} or {@link #moveTo(int,int)} has been invoked. */ @Override public void update() { values.clear(); DefaultIterator.this.update(this, data); } }
@Override public BufferVector exactClone() { double[] newArray=new double[length]; buffer.get(newArray); buffer.clear(); return BufferVector.wrap(newArray); }
@Override public BufferMatrix exactClone() { int ec=buffer.capacity(); double[] newArray=new double[ec]; buffer.get(newArray); buffer.clear(); return BufferMatrix.wrap(newArray,rows,cols); }
@Override public BufferMatrix exactClone() { int ec=buffer.capacity(); double[] newArray=new double[ec]; buffer.get(newArray); buffer.clear(); return BufferMatrix.wrap(newArray,rows,cols); }
@Override public void destroy() { int[] buffers = new int[1]; if(mBoneMatricesBufferInfo != null) buffers[0] = mBoneMatricesBufferInfo.bufferHandle; GLES20.glDeleteBuffers(buffers.length, buffers, 0); if(mBoneMatrices != null) mBoneMatrices.clear(); mBoneMatrices=null; if(mBoneMatricesBufferInfo != null && mBoneMatricesBufferInfo.buffer != null) { mBoneMatricesBufferInfo.buffer.clear(); mBoneMatricesBufferInfo.buffer=null; } super.destroy(); }
@Override public BufferVector getRowView(int i) { int cols=this.cols; int t=i*cols; buffer.position(t); buffer.limit(t+cols); DoubleBuffer subBuffer=buffer.slice(); buffer.clear(); return BufferVector.wrap(subBuffer, cols); }
@Override public BufferVector getRowView(int i) { int cols=this.cols; int t=i*cols; buffer.position(t); buffer.limit(t+cols); DoubleBuffer subBuffer=buffer.slice(); buffer.clear(); return BufferVector.wrap(subBuffer, cols); }
@Override public AVector subVector(int offset, int length) { checkRange(offset,length); if (length==0) return Vector0.INSTANCE; if (length==this.length) return this; buffer.position(offset); buffer.limit(offset+length); DoubleBuffer newBuffer=buffer.slice(); buffer.clear(); return wrap(newBuffer,length); }
@Override public AVector subVector(int offset, int length) { checkRange(offset,length); if (length==0) return Vector0.INSTANCE; if (length==this.length) return this; buffer.position(offset); buffer.limit(offset+length); DoubleBuffer newBuffer=buffer.slice(); buffer.clear(); return wrap(newBuffer,length); }