/** * Perform a basic validation of the padding/alignment requirements * of the given {@link BufferViewModel} and {@link AccessorModel} * * @param bufferViewModel The {@link BufferViewModel} * @param accessorModel The {@link AccessorModel} */ private void validatePadding( BufferViewModel bufferViewModel, AccessorModel accessorModel) { int alignmentBytes = AccessorModels.computeAlignmentBytes(accessorModel); int bufferViewByteOffset = bufferViewModel.getByteOffset(); int accessorByteOffset = accessorModel.getByteOffset(); int totalByteOffset = bufferViewByteOffset + accessorByteOffset; if (accessorByteOffset % alignmentBytes != 0) { logger.severe("Error: accessor.byteOffset is " + accessorByteOffset + " for alignment " + alignmentBytes + " in accessor " + accessorModel); } if (totalByteOffset % alignmentBytes != 0) { logger.severe("Error: bufferView.byteOffset+accessor.byteOffset is " + totalByteOffset + " for alignment " + alignmentBytes + " in accessor " + accessorModel); } } }
/** * Create the {@link BufferView} object from the given * {@link BufferViewModel} * * @param bufferViewModel The {@link BufferViewModel} * @param bufferId The {@link Buffer} ID * @return The {@link BufferView} objects */ private static BufferView createBufferView( BufferViewModel bufferViewModel, String bufferId) { BufferView bufferView = new BufferView(); bufferView.setBuffer(bufferId); bufferView.setByteOffset(bufferViewModel.getByteOffset()); bufferView.setByteLength(bufferViewModel.getByteLength()); bufferView.setTarget(bufferViewModel.getTarget()); return bufferView; }
/** * Create the {@link BufferView} object from the given * {@link BufferViewModel} * * @param bufferViewModel The {@link BufferViewModel} * @param bufferIndex The {@link Buffer} index * @return The {@link BufferView} objects */ private static BufferView createBufferView( BufferViewModel bufferViewModel, int bufferIndex) { BufferView bufferView = new BufferView(); bufferView.setBuffer(bufferIndex); bufferView.setByteOffset(bufferViewModel.getByteOffset()); bufferView.setByteLength(bufferViewModel.getByteLength()); bufferView.setByteStride(bufferViewModel.getByteStride()); bufferView.setTarget(bufferViewModel.getTarget()); return bufferView; }