/** * Create the {@link AccessorModel} instances */ private void createAccessorModels() { List<Accessor> accessors = Optionals.of(gltf.getAccessors()); for (int i = 0; i < accessors.size(); i++) { Accessor accessor = accessors.get(i); Integer componentType = accessor.getComponentType(); Integer count = accessor.getCount(); ElementType elementType = ElementType.forString(accessor.getType()); DefaultAccessorModel accessorModel = new DefaultAccessorModel( componentType, count, elementType); accessorModels.add(accessorModel); } }
/** * Create a {@link DefaultAccessorModel} for the given {@link Accessor} * * @param accessor The {@link Accessor} * @return The {@link AccessorModel} */ private static DefaultAccessorModel createAccessorModel(Accessor accessor) { Integer componentType = accessor.getComponentType(); Integer byteOffset = accessor.getByteOffset(); Integer count = accessor.getCount(); ElementType elementType = ElementType.forString(accessor.getType()); Integer byteStride = accessor.getByteStride(); if (byteStride == null) { byteStride = elementType.getNumComponents() * Accessors.getNumBytesForAccessorComponentType( componentType); } DefaultAccessorModel accessorModel = new DefaultAccessorModel( componentType, count, elementType); accessorModel.setByteOffset(byteOffset); accessorModel.setByteStride(byteStride); return accessorModel; }