| Buffer {rgl} | R Documentation |
R6 Class for binary buffers in glTF files.
Description
These files typically have one buffer holding all the binary data for a scene.
Methods
Public methods
Method new()
Usage
Buffer$new(json = NULL, binfile = NULL)
Arguments
jsonlist read from glTF file.
binfileoptional External binary filename, or raw vector
Method load()
Load from file.
Usage
Buffer$load(uri, buf = 0)
Arguments
uriWhich file to load.
bufWhich buffer number to load.
Method saveOpenBuffer()
Write open buffer to connection.
Usage
Buffer$saveOpenBuffer(con, buf = 0)
Arguments
conOutput connection.
bufBuffer number.
Method getBuffer()
Get buffer object.
Usage
Buffer$getBuffer(buf, default = list(byteLength = 0))
Arguments
bufBuffer number.
defaultDefault buffer object if
bufnot found.
Returns
A list containing components described here: https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#reference-buffer.
Method setBuffer()
Set buffer object.
Usage
Buffer$setBuffer(buf, buffer)
Arguments
bufBuffer number.
bufferNew value to insert.
Method openBuffer()
Open a connection for the data in a buffer.
Usage
Buffer$openBuffer(buf)
Arguments
bufBuffer number.
Returns
An open binary connection.
Method writeBuffer()
Write data to buffer.
Usage
Buffer$writeBuffer(values, type, size, buf = 0)
Arguments
valuesValues to write.
typeType to write.
sizeByte size of each value.
bufWhich buffer to write to.
Returns
Byte offset of start of bytes written.
Method closeBuffer()
Close the connection in a buffer.
If there was a connection open, this will save the
contents in the raw vector bytes within the buffer object.
Usage
Buffer$closeBuffer(buf)
Arguments
bufThe buffer number.
Method closeBuffers()
Close any open buffers.
Call this after working with a GLTF file to avoid warnings from R about closing unused connections.
Usage
Buffer$closeBuffers()
Method getBufferview()
Get bufferView object.
Usage
Buffer$getBufferview(bufv)
Arguments
bufvbufferViewnumber.
Returns
A list containing components described here: https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#reference-bufferview.
Method addBufferView()
Add a new buffer view.
Usage
Buffer$addBufferView(values, type, size, target = NULL, buf = 0)
Arguments
valuesValues to put in the view.
typeType of values.
sizeSize of values in bytes.
targetOptional target use for values.
bufWhich buffer to write to.
Returns
New bufferView number.
Method openBufferview()
Open a connection to a buffer view.
Usage
Buffer$openBufferview(bufv)
Arguments
bufvWhich
bufferView.
Returns
A connection.
Method setBufferview()
Set bufferView object.
Usage
Buffer$setBufferview(bufv, bufferView)
Arguments
bufvbufferViewnumber.bufferViewNew value to insert.
Method getAccessor()
Get accessor object
Usage
Buffer$getAccessor(acc)
Arguments
accAccessor number
Returns
A list containing components described here: https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#reference-accessor
Method setAccessor()
Set accessor object.
Usage
Buffer$setAccessor(acc, accessor)
Arguments
accAccessor number.
accessorNew value to insert.
Method readAccessor()
Read data given by accessor number.
Usage
Buffer$readAccessor(acc)
Arguments
accAccessor number.
Returns
A vector or array as specified in the accessor. For the MATn types, the 3rd index
indexes the element.
Method readAccessor0()
Read data given by accessor object.
Usage
Buffer$readAccessor0(accessor)
Arguments
accessorAccessor object
Returns
A vector or array as specified in the accessor. For the MATn types, the 3rd index
indexes the element.
Method addAccessor()
Write values to accessor, not including min and max.
Usage
Buffer$addAccessor( values, target = NULL, types = "anyGLTF", normalized = FALSE )
Arguments
valuesValues to write.
targetOptional target use for values.
typesWhich types can be used?
normalizedAre normalized integers allowed?
useDoubleWhether to write doubles or singles.
Returns
New accessor number
Method dataURI()
Convert buffer to data URI.
Usage
Buffer$dataURI(buf = 0)
Arguments
bufBuffer to convert.
Returns
String containing data URI.
Method as.list()
Convert to list.
Usage
Buffer$as.list()
Returns
List suitable for writing using JSON.
Method clone()
The objects of this class are cloneable with this method.
Usage
Buffer$clone(deep = FALSE)
Arguments
deepWhether to make a deep clone.