Package org.lwjgl.assimp
Class AIExportDataBlob
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.assimp.AIExportDataBlob
-
- All Implemented Interfaces:
java.lang.AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class AIExportDataBlob extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResourceDescribes a blob of exported scene data. UseExportSceneToBlobto create a blob containing an exported scene. The memory referred by this structure is owned by Assimp. to free its resources. Don't try to free the memory on your side - it will crash for most build configurations due to conflicting heaps.Blobs can be nested - each blob may reference another blob, which may in turn reference another blob and so on. This is used when exporters write more than one output file for a given
AIScene. See the remarks foraiExportDataBlob::namefor more information.Member documentation
size– Size of the data in bytesdata– The data.name– Name of the blob. An empty string always indicates the first (and primary) blob, which contains the actual file data. Any other blobs are auxiliary files produced by exporters (i.e. material files). Existence of such files depends on the file format. Most formats don't split assets across multiple files.If used, blob names usually contain the file extension that should be used when writing the data to disc.
next– Pointer to the next blob in the chain or NULL if there is none.
Layout
struct aiExportDataBlob { size_t size; void * data;struct aiStringname;struct aiExportDataBlob* next; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAIExportDataBlob.BufferAn array ofAIExportDataBlobstructs.
-
Constructor Summary
Constructors Constructor Description AIExportDataBlob(java.nio.ByteBuffer container)Creates aAIExportDataBlobinstance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static AIExportDataBlobcalloc()Returns a newAIExportDataBlobinstance allocated withmemCalloc.static AIExportDataBlob.Buffercalloc(int capacity)Returns a newAIExportDataBlob.Bufferinstance allocated withmemCalloc.static AIExportDataBlobcallocStack()Returns a newAIExportDataBlobinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static AIExportDataBlob.BuffercallocStack(int capacity)Returns a newAIExportDataBlob.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static AIExportDataBlob.BuffercallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newAIExportDataBlob.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static AIExportDataBlobcallocStack(org.lwjgl.system.MemoryStack stack)Returns a newAIExportDataBlobinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static AIExportDataBlobcreate()Returns a newAIExportDataBlobinstance allocated withBufferUtils.static AIExportDataBlob.Buffercreate(int capacity)Returns a newAIExportDataBlob.Bufferinstance allocated withBufferUtils.static AIExportDataBlobcreate(long address)Returns a newAIExportDataBlobinstance for the specified memory address.static AIExportDataBlob.Buffercreate(long address, int capacity)Create aAIExportDataBlob.Bufferinstance at the specified memory.static AIExportDataBlobcreateSafe(long address)static AIExportDataBlob.BuffercreateSafe(long address, int capacity)java.nio.ByteBufferdata()Returns aByteBufferview of the data pointed to by thedatafield.AIExportDataBlobdata(java.nio.ByteBuffer value)Sets the address of the specifiedByteBufferto thedatafield.static AIExportDataBlobmalloc()Returns a newAIExportDataBlobinstance allocated withmemAlloc.static AIExportDataBlob.Buffermalloc(int capacity)Returns a newAIExportDataBlob.Bufferinstance allocated withmemAlloc.static AIExportDataBlobmallocStack()Returns a newAIExportDataBlobinstance allocated on the thread-localMemoryStack.static AIExportDataBlob.BuffermallocStack(int capacity)Returns a newAIExportDataBlob.Bufferinstance allocated on the thread-localMemoryStack.static AIExportDataBlob.BuffermallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newAIExportDataBlob.Bufferinstance allocated on the specifiedMemoryStack.static AIExportDataBlobmallocStack(org.lwjgl.system.MemoryStack stack)Returns a newAIExportDataBlobinstance allocated on the specifiedMemoryStack.AIStringname()Returns aAIStringview of thenamefield.AIExportDataBlobname(java.util.function.Consumer<AIString> consumer)Passes thenamefield to the specifiedConsumer.AIExportDataBlobname(AIString value)Copies the specifiedAIStringto thenamefield.static java.nio.ByteBufferndata(long struct)Unsafe version ofdata.static voidndata(long struct, java.nio.ByteBuffer value)Unsafe version ofdata.AIExportDataBlobnext()Returns aAIExportDataBlobview of the struct pointed to by thenextfield.AIExportDataBlobnext(AIExportDataBlob value)Sets the address of the specifiedAIExportDataBlobto thenextfield.static AIStringnname(long struct)Unsafe version ofname().static voidnname(long struct, AIString value)Unsafe version ofname.static AIExportDataBlobnnext(long struct)Unsafe version ofnext().static voidnnext(long struct, AIExportDataBlob value)Unsafe version ofnext.static longnsize(long struct)Unsafe version ofsize().static voidnsize(long struct, long value)Sets the specified value to thesizefield of the specifiedstruct.AIExportDataBlobset(java.nio.ByteBuffer data, AIString name, AIExportDataBlob next)Initializes this struct with the specified values.AIExportDataBlobset(AIExportDataBlob src)Copies the specified struct data to this struct.longsize()Returns the value of thesizefield.intsizeof()static voidvalidate(long struct)Validates pointer members that should not beNULL.static voidvalidate(long array, int count)Callsvalidate(long)for each struct contained in the specified struct array.
-
-
-
Constructor Detail
-
AIExportDataBlob
public AIExportDataBlob(java.nio.ByteBuffer container)
Creates aAIExportDataBlobinstance at the current position of the specifiedByteBuffercontainer. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Detail
-
sizeof
public int sizeof()
- Specified by:
sizeofin classorg.lwjgl.system.Struct
-
size
public long size()
Returns the value of thesizefield.
-
data
public java.nio.ByteBuffer data()
Returns aByteBufferview of the data pointed to by thedatafield.
-
next
@Nullable public AIExportDataBlob next()
Returns aAIExportDataBlobview of the struct pointed to by thenextfield.
-
data
public AIExportDataBlob data(java.nio.ByteBuffer value)
Sets the address of the specifiedByteBufferto thedatafield.
-
name
public AIExportDataBlob name(AIString value)
Copies the specifiedAIStringto thenamefield.
-
name
public AIExportDataBlob name(java.util.function.Consumer<AIString> consumer)
Passes thenamefield to the specifiedConsumer.
-
next
public AIExportDataBlob next(@Nullable AIExportDataBlob value)
Sets the address of the specifiedAIExportDataBlobto thenextfield.
-
set
public AIExportDataBlob set(java.nio.ByteBuffer data, AIString name, @Nullable AIExportDataBlob next)
Initializes this struct with the specified values.
-
set
public AIExportDataBlob set(AIExportDataBlob src)
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
public static AIExportDataBlob malloc()
Returns a newAIExportDataBlobinstance allocated withmemAlloc. The instance must be explicitly freed.
-
calloc
public static AIExportDataBlob calloc()
Returns a newAIExportDataBlobinstance allocated withmemCalloc. The instance must be explicitly freed.
-
create
public static AIExportDataBlob create()
Returns a newAIExportDataBlobinstance allocated withBufferUtils.
-
create
public static AIExportDataBlob create(long address)
Returns a newAIExportDataBlobinstance for the specified memory address.
-
createSafe
@Nullable public static AIExportDataBlob createSafe(long address)
-
malloc
public static AIExportDataBlob.Buffer malloc(int capacity)
Returns a newAIExportDataBlob.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
public static AIExportDataBlob.Buffer calloc(int capacity)
Returns a newAIExportDataBlob.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
public static AIExportDataBlob.Buffer create(int capacity)
Returns a newAIExportDataBlob.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static AIExportDataBlob.Buffer create(long address, int capacity)
Create aAIExportDataBlob.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
@Nullable public static AIExportDataBlob.Buffer createSafe(long address, int capacity)
-
mallocStack
public static AIExportDataBlob mallocStack()
Returns a newAIExportDataBlobinstance allocated on the thread-localMemoryStack.
-
callocStack
public static AIExportDataBlob callocStack()
Returns a newAIExportDataBlobinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.
-
mallocStack
public static AIExportDataBlob mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newAIExportDataBlobinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
callocStack
public static AIExportDataBlob callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newAIExportDataBlobinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
mallocStack
public static AIExportDataBlob.Buffer mallocStack(int capacity)
Returns a newAIExportDataBlob.Bufferinstance allocated on the thread-localMemoryStack.- Parameters:
capacity- the buffer capacity
-
callocStack
public static AIExportDataBlob.Buffer callocStack(int capacity)
Returns a newAIExportDataBlob.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacity
-
mallocStack
public static AIExportDataBlob.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newAIExportDataBlob.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
callocStack
public static AIExportDataBlob.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newAIExportDataBlob.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
nsize
public static long nsize(long struct)
Unsafe version ofsize().
-
ndata
public static java.nio.ByteBuffer ndata(long struct)
Unsafe version ofdata.
-
nnext
@Nullable public static AIExportDataBlob nnext(long struct)
Unsafe version ofnext().
-
nsize
public static void nsize(long struct, long value)Sets the specified value to thesizefield of the specifiedstruct.
-
ndata
public static void ndata(long struct, java.nio.ByteBuffer value)Unsafe version ofdata.
-
nnext
public static void nnext(long struct, @Nullable AIExportDataBlob value)Unsafe version ofnext.
-
validate
public static void validate(long struct)
Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-
validate
public static void validate(long array, int count)Callsvalidate(long)for each struct contained in the specified struct array.- Parameters:
array- the struct array to validatecount- the number of structs inarray
-
-