/** * Creates a shallow copy of the given {@link BufferView} * * @param bufferView The {@link BufferView} * @return The copy */ static BufferView copy(BufferView bufferView) { BufferView copy = new BufferView(); copy.setExtensions(bufferView.getExtensions()); copy.setExtras(bufferView.getExtras()); copy.setName(bufferView.getName()); copy.setBuffer(bufferView.getBuffer()); copy.setByteOffset(bufferView.getByteOffset()); copy.setByteLength(bufferView.getByteLength()); copy.setTarget(bufferView.getTarget()); return copy; }
/** * 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 a {@link DefaultBufferViewModel} for the given {@link BufferView} * * @param bufferView The {@link BufferView} * @return The {@link BufferViewModel} */ private static DefaultBufferViewModel createBufferViewModel( BufferView bufferView) { int byteOffset = bufferView.getByteOffset(); Integer byteLength = bufferView.getByteLength(); if (byteLength == null) { logger.warning("No byteLength found in BufferView"); byteLength = 0; } Integer target = bufferView.getTarget(); DefaultBufferViewModel bufferViewModel = new DefaultBufferViewModel(target); bufferViewModel.setByteOffset(byteOffset); bufferViewModel.setByteLength(byteLength); return bufferViewModel; }
BufferView newBufferView = GltfUtilsV1.copy(oldBufferView); newBufferView.setBuffer(BinaryGltfV1.getBinaryGltfBufferId()); String oldBufferId = oldBufferView.getBuffer(); int oldByteOffset = oldBufferView.getByteOffset(); int bufferOffset = bufferOffsets.get(oldBufferId); int newByteOffset = oldByteOffset + bufferOffset; newBufferView.setByteOffset(newByteOffset); int byteLength = imageData.capacity(); int byteOffset = imageOffsets.get(id); BufferView imageBufferView = new BufferView(); imageBufferView.setBuffer(BinaryGltfV1.getBinaryGltfBufferId()); imageBufferView.setByteOffset(byteOffset); imageBufferView.setByteLength(byteLength); int byteLength = shaderData.capacity(); int byteOffset = shaderOffsets.get(id); BufferView shaderBufferView = new BufferView(); shaderBufferView.setBuffer(BinaryGltfV1.getBinaryGltfBufferId()); shaderBufferView.setByteOffset(byteOffset); shaderBufferView.setByteLength(byteLength);
String bufferId = bufferView.getBuffer(); validatorResult.add(validateMapEntry( getGltf().getBuffers(), bufferId, context)); Integer byteLength = bufferView.getByteLength(); if (byteLength == null)
int totalByteOffset = bufferView.getByteOffset() + accessorByteOffset; bufferView.getBuffer() + " is " + totalByteOffset + ", but must be aligned to the size of the component type (" + componentTypeName + "), which is "+componentSizeInBytes, bufferView.getBuffer() + " is " + totalByteOffset + ", but must be aligned to the size of the elements (" + accessor.getType() + " with " + componentTypeName + "), " +
/** * Initialize the {@link BufferViewModel} instances */ private void initBufferViewModels() { Map<String, BufferView> bufferViews = Optionals.of(gltf.getBufferViews()); for (Entry<String, BufferView> entry : bufferViews.entrySet()) { String bufferViewId = entry.getKey(); BufferView bufferView = entry.getValue(); String bufferId = bufferView.getBuffer(); BufferModel bufferModel = get("buffers", bufferId, bufferModels); DefaultBufferViewModel bufferViewModel = get("bufferViews", bufferViewId, bufferViewModels); bufferViewModel.setName(bufferView.getName()); bufferViewModel.setBufferModel(bufferModel); } }