/** * Creates an {@link AccessorFloatData} for the given {@link AccessorModel} * * @param accessorModel The {@link AccessorModel} * @param bufferViewByteBuffer The byte buffer of the * {@link BufferViewModel} referenced by the {@link AccessorModel} * @return The {@link AccessorFloatData} * @throws NullPointerException If any argument is <code>null</code> * @throws IllegalArgumentException If the */ private static AccessorFloatData createFloat( AccessorModel accessorModel, ByteBuffer bufferViewByteBuffer) { return new AccessorFloatData(accessorModel.getComponentType(), bufferViewByteBuffer, accessorModel.getByteOffset(), accessorModel.getCount(), accessorModel.getElementType().getNumComponents(), accessorModel.getByteStride()); }
/** * Creates an {@link AccessorShortData} for the given {@link AccessorModel} * * @param accessorModel The {@link AccessorModel} * @param bufferViewByteBuffer The byte buffer of the * {@link BufferViewModel} referenced by the {@link AccessorModel} * @return The {@link AccessorShortData} * @throws NullPointerException If any argument is <code>null</code> * @throws IllegalArgumentException If the * {@link AccessorModel#getComponentType() component type} of the given * accessorModel is not <code>GL_SHORT</code> or * <code>GL_UNSIGNED_SHORT</code> */ private static AccessorShortData createShort( AccessorModel accessorModel, ByteBuffer bufferViewByteBuffer) { return new AccessorShortData(accessorModel.getComponentType(), bufferViewByteBuffer, accessorModel.getByteOffset(), accessorModel.getCount(), accessorModel.getElementType().getNumComponents(), accessorModel.getByteStride()); }
/** * Creates an {@link AccessorIntData} for the given {@link AccessorModel} * * @param accessorModel The {@link AccessorModel} * @param bufferViewByteBuffer The byte buffer of the * {@link BufferViewModel} referenced by the {@link AccessorModel} * @return The {@link AccessorIntData} * @throws NullPointerException If any argument is <code>null</code> * @throws IllegalArgumentException If the * {@link AccessorModel#getComponentType() component type} of the given * accessorModel is not <code>GL_INT</code> or <code>GL_UNSIGNED_INT</code> */ private static AccessorIntData createInt( AccessorModel accessorModel, ByteBuffer bufferViewByteBuffer) { return new AccessorIntData(accessorModel.getComponentType(), bufferViewByteBuffer, accessorModel.getByteOffset(), accessorModel.getCount(), accessorModel.getElementType().getNumComponents(), accessorModel.getByteStride()); }
/** * Creates an {@link AccessorByteData} for the given {@link AccessorModel} * * @param accessorModel The {@link AccessorModel} * @param bufferViewByteBuffer The byte buffer of the * {@link BufferViewModel} referenced by the {@link AccessorModel} * @return The {@link AccessorByteData} * @throws NullPointerException If any argument is <code>null</code> * @throws IllegalArgumentException If the * {@link AccessorModel#getComponentType() component type} of the given * accessorModel is not <code>GL_BYTE</code> or * <code>GL_UNSIGNED_BYTE</code> */ private static AccessorByteData createByte( AccessorModel accessorModel, ByteBuffer bufferViewByteBuffer) { return new AccessorByteData(accessorModel.getComponentType(), bufferViewByteBuffer, accessorModel.getByteOffset(), accessorModel.getCount(), accessorModel.getElementType().getNumComponents(), accessorModel.getByteStride()); }
/** * Create a new {@link AccessorModel} that describes the same data as * the given {@link AccessorModel}, but in a compact form. The returned * {@link AccessorModel} will refer to a newly created * {@link BufferViewModel} and a newly created {@link BufferModel} that * contain exactly the data for the accessor.<br> * <br> * The given {@link AccessorModel} is assumed to have a <code>float</code> * component type. * * @param accessorModel The {@link AccessorModel} * @param bufferUriString The URI string for the {@link BufferModel} * @return The new {@link AccessorModel} instance. */ private static AccessorModel instantiate( AccessorModel accessorModel, String bufferUriString) { AccessorModel instantiatedAccessorModel = createAccessorModel( accessorModel.getComponentType(), accessorModel.getCount(), accessorModel.getElementType(), bufferUriString); AccessorData accessorData = accessorModel.getAccessorData(); AccessorFloatData accessorFloatData = (AccessorFloatData)accessorData; AccessorData instantiatedAccessorData = instantiatedAccessorModel.getAccessorData(); AccessorFloatData instantiatedAccessorFloatData = (AccessorFloatData)instantiatedAccessorData; setElements(instantiatedAccessorFloatData, accessorFloatData); return instantiatedAccessorModel; }
/** * Create the {@link Accessor} object from the given * {@link AccessorModel} * * @param accessorModel The {@link AccessorModel} * @param bufferViewIndex The {@link BufferView} index * @return The {@link Accessor} object */ private static Accessor createAccessor( AccessorModel accessorModel, int bufferViewIndex) { Accessor accessor = new Accessor(); accessor.setBufferView(bufferViewIndex); accessor.setByteOffset(accessorModel.getByteOffset()); accessor.setComponentType(accessorModel.getComponentType()); accessor.setCount(accessorModel.getCount()); accessor.setType(accessorModel.getElementType().toString()); AccessorData accessorData = accessorModel.getAccessorData(); accessor.setMax(AccessorDatas.computeMax(accessorData)); accessor.setMin(AccessorDatas.computeMin(accessorData)); return accessor; }
/** * Create the {@link Accessor} object from the given * {@link AccessorModel} * * @param accessorModel The {@link AccessorModel} * @param bufferViewId The {@link BufferView} ID * @return The {@link Accessor} object */ private static Accessor createAccessor( AccessorModel accessorModel, String bufferViewId) { Accessor accessor = new Accessor(); accessor.setBufferView(bufferViewId); accessor.setByteOffset(accessorModel.getByteOffset()); accessor.setComponentType(accessorModel.getComponentType()); accessor.setCount(accessorModel.getCount()); accessor.setType(accessorModel.getElementType().toString()); accessor.setByteStride(accessorModel.getByteStride()); AccessorData accessorData = accessorModel.getAccessorData(); accessor.setMax(AccessorDatas.computeMax(accessorData)); accessor.setMin(AccessorDatas.computeMin(accessorData)); return accessor; }