Class AIScene

  • All Implemented Interfaces:
    java.lang.AutoCloseable, org.lwjgl.system.NativeResource, org.lwjgl.system.Pointer


    public class AIScene
    extends org.lwjgl.system.Struct
    implements org.lwjgl.system.NativeResource
    The root structure of the imported data.

    Everything that was imported from the given file can be accessed from here. Objects of this class are generally maintained and owned by Assimp, not by the caller. You shouldn't want to instance it, nor should you ever try to delete a given scene on your own.

    Member documentation

    • mFlags – Any combination of the AI_SCENE_FLAGS_XXX flags. By default this value is 0, no flags are set. Most applications will want to reject all scenes with the AI_SCENE_FLAGS_INCOMPLETE bit set. One or more of:
      Assimp.AI_SCENE_FLAGS_INCOMPLETEAssimp.AI_SCENE_FLAGS_VALIDATED
      Assimp.AI_SCENE_FLAGS_VALIDATION_WARNINGAssimp.AI_SCENE_FLAGS_NON_VERBOSE_FORMAT
      Assimp.AI_SCENE_FLAGS_TERRAIN
    • mRootNode – The root node of the hierarchy. There will always be at least the root node if the import was successful (and no special flags have been set). Presence of further nodes depends on the format and content of the imported file.
    • mNumMeshes – The number of meshes in the scene.
    • mMeshes – The array of meshes. Use the indices given in the AINode structure to access this array. The array is mNumMeshes in size. If the Assimp.AI_SCENE_FLAGS_INCOMPLETE flag is not set there will always be at least ONE material.
    • mNumMaterials – The number of materials in the scene.
    • mMaterials – The array of materials. Use the index given in each AIMesh structure to access this array. The array is mNumMaterials in size. If the Assimp.AI_SCENE_FLAGS_INCOMPLETE flag is not set there will always be at least ONE material.
    • mNumAnimations – The number of animations in the scene.
    • mAnimations – The array of animations. All animations imported from the given file are listed here. The array is mNumAnimations in size.
    • mNumTextures – The number of textures embedded into the file
    • mTextures – The array of embedded textures. Not many file formats embed their textures into the file. An example is Quake's MDL format (which is also used by some GameStudio versions)
    • mNumLights – The number of light sources in the scene. Light sources are fully optional, in most cases this attribute will be 0
    • mLights – The array of light sources. All light sources imported from the given file are listed here. The array is mNumLights in size.
    • mNumCameras – The number of cameras in the scene. Cameras are fully optional, in most cases this attribute will be 0
    • mCameras – The array of cameras. All cameras imported from the given file are listed here. The array is mNumCameras in size. The first camera in the array (if existing) is the default camera view into the scene.
    • mMetaData – The global metadata assigned to the scene itself.

      This data contains global metadata which belongs to the scene like unit-conversions, versions, vendors or other model-specific data. This can be used to store format-specific metadata as well.

    • mPrivate – Internal use only, do not touch!

    Layout

     struct aiScene {
         unsigned int mFlags;
         struct aiNode * mRootNode;
         unsigned int mNumMeshes;
         struct aiMesh ** mMeshes;
         unsigned int mNumMaterials;
         struct aiMaterial ** mMaterials;
         unsigned int mNumAnimations;
         struct aiAnimation ** mAnimations;
         unsigned int mNumTextures;
         struct aiTexture ** mTextures;
         unsigned int mNumLights;
         struct aiLight ** mLights;
         unsigned int mNumCameras;
         struct aiCamera ** mCameras;
         struct aiMetadata * mMetaData;
         char * mPrivate;
     }
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class and Description
      static class  AIScene.Buffer
      An array of AIScene structs.
      • Nested classes/interfaces inherited from interface org.lwjgl.system.Pointer

        org.lwjgl.system.Pointer.Default
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static int SIZEOF
      The struct size in bytes.
      • Fields inherited from interface org.lwjgl.system.Pointer

        POINTER_SHIFT, POINTER_SIZE
    • Constructor Summary

      Constructors 
      Constructor and Description
      AIScene(java.nio.ByteBuffer container)
      Creates a AIScene instance at the current position of the specified ByteBuffer container.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      static AIScene calloc()
      Returns a new AIScene instance allocated with memCalloc.
      static AIScene.Buffer calloc(int capacity)
      Returns a new AIScene.Buffer instance allocated with memCalloc.
      static AIScene callocStack()
      Returns a new AIScene instance allocated on the thread-local MemoryStack and initializes all its bits to zero.
      static AIScene.Buffer callocStack(int capacity)
      Returns a new AIScene.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero.
      static AIScene.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
      Returns a new AIScene.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.
      static AIScene callocStack(org.lwjgl.system.MemoryStack stack)
      Returns a new AIScene instance allocated on the specified MemoryStack and initializes all its bits to zero.
      static AIScene create()
      Returns a new AIScene instance allocated with BufferUtils.
      static AIScene.Buffer create(int capacity)
      Returns a new AIScene.Buffer instance allocated with BufferUtils.
      static AIScene create(long address)
      Returns a new AIScene instance for the specified memory address.
      static AIScene.Buffer create(long address, int capacity)
      Create a AIScene.Buffer instance at the specified memory.
      static AIScene createSafe(long address)
      Like create, but returns null if address is NULL.
      static AIScene.Buffer createSafe(long address, int capacity)
      Like create, but returns null if address is NULL.
      static AIScene malloc()
      Returns a new AIScene instance allocated with memAlloc.
      static AIScene.Buffer malloc(int capacity)
      Returns a new AIScene.Buffer instance allocated with memAlloc.
      static AIScene mallocStack()
      Returns a new AIScene instance allocated on the thread-local MemoryStack.
      static AIScene.Buffer mallocStack(int capacity)
      Returns a new AIScene.Buffer instance allocated on the thread-local MemoryStack.
      static AIScene.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
      Returns a new AIScene.Buffer instance allocated on the specified MemoryStack.
      static AIScene mallocStack(org.lwjgl.system.MemoryStack stack)
      Returns a new AIScene instance allocated on the specified MemoryStack.
      org.lwjgl.PointerBuffer mAnimations()
      Returns a PointerBuffer view of the data pointed to by the mAnimations field.
      AIScene mAnimations(org.lwjgl.PointerBuffer value)
      Sets the address of the specified PointerBuffer to the mAnimations field.
      org.lwjgl.PointerBuffer mCameras()
      Returns a PointerBuffer view of the data pointed to by the mCameras field.
      AIScene mCameras(org.lwjgl.PointerBuffer value)
      Sets the address of the specified PointerBuffer to the mCameras field.
      int mFlags()
      Returns the value of the mFlags field.
      AIScene mFlags(int value)
      Sets the specified value to the mFlags field.
      org.lwjgl.PointerBuffer mLights()
      Returns a PointerBuffer view of the data pointed to by the mLights field.
      AIScene mLights(org.lwjgl.PointerBuffer value)
      Sets the address of the specified PointerBuffer to the mLights field.
      org.lwjgl.PointerBuffer mMaterials()
      Returns a PointerBuffer view of the data pointed to by the mMaterials field.
      AIScene mMaterials(org.lwjgl.PointerBuffer value)
      Sets the address of the specified PointerBuffer to the mMaterials field.
      org.lwjgl.PointerBuffer mMeshes()
      Returns a PointerBuffer view of the data pointed to by the mMeshes field.
      AIScene mMeshes(org.lwjgl.PointerBuffer value)
      Sets the address of the specified PointerBuffer to the mMeshes field.
      AIMetaData mMetaData()
      Returns a AIMetaData view of the struct pointed to by the mMetaData field.
      AIScene mMetaData(AIMetaData value)
      Sets the address of the specified AIMetaData to the mMetaData field.
      int mNumAnimations()
      Returns the value of the mNumAnimations field.
      int mNumCameras()
      Returns the value of the mNumCameras field.
      int mNumLights()
      Returns the value of the mNumLights field.
      int mNumMaterials()
      Returns the value of the mNumMaterials field.
      int mNumMeshes()
      Returns the value of the mNumMeshes field.
      int mNumTextures()
      Returns the value of the mNumTextures field.
      AINode mRootNode()
      Returns a AINode view of the struct pointed to by the mRootNode field.
      AIScene mRootNode(AINode value)
      Sets the address of the specified AINode to the mRootNode field.
      org.lwjgl.PointerBuffer mTextures()
      Returns a PointerBuffer view of the data pointed to by the mTextures field.
      AIScene mTextures(org.lwjgl.PointerBuffer value)
      Sets the address of the specified PointerBuffer to the mTextures field.
      static void nmPrivate(long struct, java.nio.ByteBuffer value) 
      static java.nio.ByteBuffer nmPrivate(long struct, int capacity) 
      AIScene set(AIScene src)
      Copies the specified struct data to this struct.
      AIScene set(int mFlags, AINode mRootNode, org.lwjgl.PointerBuffer mMeshes, org.lwjgl.PointerBuffer mMaterials, org.lwjgl.PointerBuffer mAnimations, org.lwjgl.PointerBuffer mTextures, org.lwjgl.PointerBuffer mLights, org.lwjgl.PointerBuffer mCameras, AIMetaData mMetaData)
      Initializes this struct with the specified values.
      int sizeof() 
      static void validate(long struct)
      Validates pointer members that should not be NULL.
      static void validate(long array, int count)
      Calls AIScene.validate(long) for each struct contained in the specified struct array.
      • Methods inherited from class org.lwjgl.system.Struct

        clear, free, isNull
      • Methods inherited from class org.lwjgl.system.Pointer.Default

        address, equals, hashCode, toString
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface org.lwjgl.system.NativeResource

        close, free
    • Field Detail

      • SIZEOF

        public static final int SIZEOF
        The struct size in bytes.
    • Constructor Detail

      • AIScene

        public AIScene(java.nio.ByteBuffer container)
        Creates a AIScene instance at the current position of the specified ByteBuffer container. 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:
        sizeof in class org.lwjgl.system.Struct
      • mFlags

        public int mFlags()
        Returns the value of the mFlags field.
      • mRootNode

        @Nullable
        public AINode mRootNode()
        Returns a AINode view of the struct pointed to by the mRootNode field.
      • mNumMeshes

        public int mNumMeshes()
        Returns the value of the mNumMeshes field.
      • mMeshes

        @Nullable
        public org.lwjgl.PointerBuffer mMeshes()
        Returns a PointerBuffer view of the data pointed to by the mMeshes field.
      • mNumMaterials

        public int mNumMaterials()
        Returns the value of the mNumMaterials field.
      • mMaterials

        @Nullable
        public org.lwjgl.PointerBuffer mMaterials()
        Returns a PointerBuffer view of the data pointed to by the mMaterials field.
      • mNumAnimations

        public int mNumAnimations()
        Returns the value of the mNumAnimations field.
      • mAnimations

        @Nullable
        public org.lwjgl.PointerBuffer mAnimations()
        Returns a PointerBuffer view of the data pointed to by the mAnimations field.
      • mNumTextures

        public int mNumTextures()
        Returns the value of the mNumTextures field.
      • mTextures

        @Nullable
        public org.lwjgl.PointerBuffer mTextures()
        Returns a PointerBuffer view of the data pointed to by the mTextures field.
      • mNumLights

        public int mNumLights()
        Returns the value of the mNumLights field.
      • mLights

        @Nullable
        public org.lwjgl.PointerBuffer mLights()
        Returns a PointerBuffer view of the data pointed to by the mLights field.
      • mNumCameras

        public int mNumCameras()
        Returns the value of the mNumCameras field.
      • mCameras

        @Nullable
        public org.lwjgl.PointerBuffer mCameras()
        Returns a PointerBuffer view of the data pointed to by the mCameras field.
      • mMetaData

        @Nullable
        public AIMetaData mMetaData()
        Returns a AIMetaData view of the struct pointed to by the mMetaData field.
      • mFlags

        public AIScene mFlags(int value)
        Sets the specified value to the mFlags field.
      • mRootNode

        public AIScene mRootNode(@Nullable
                                 AINode value)
        Sets the address of the specified AINode to the mRootNode field.
      • mMeshes

        public AIScene mMeshes(@Nullable
                               org.lwjgl.PointerBuffer value)
        Sets the address of the specified PointerBuffer to the mMeshes field.
      • mMaterials

        public AIScene mMaterials(@Nullable
                                  org.lwjgl.PointerBuffer value)
        Sets the address of the specified PointerBuffer to the mMaterials field.
      • mAnimations

        public AIScene mAnimations(@Nullable
                                   org.lwjgl.PointerBuffer value)
        Sets the address of the specified PointerBuffer to the mAnimations field.
      • mTextures

        public AIScene mTextures(@Nullable
                                 org.lwjgl.PointerBuffer value)
        Sets the address of the specified PointerBuffer to the mTextures field.
      • mLights

        public AIScene mLights(@Nullable
                               org.lwjgl.PointerBuffer value)
        Sets the address of the specified PointerBuffer to the mLights field.
      • mCameras

        public AIScene mCameras(@Nullable
                                org.lwjgl.PointerBuffer value)
        Sets the address of the specified PointerBuffer to the mCameras field.
      • mMetaData

        public AIScene mMetaData(@Nullable
                                 AIMetaData value)
        Sets the address of the specified AIMetaData to the mMetaData field.
      • set

        public AIScene set(int mFlags,
                           AINode mRootNode,
                           org.lwjgl.PointerBuffer mMeshes,
                           org.lwjgl.PointerBuffer mMaterials,
                           org.lwjgl.PointerBuffer mAnimations,
                           org.lwjgl.PointerBuffer mTextures,
                           org.lwjgl.PointerBuffer mLights,
                           org.lwjgl.PointerBuffer mCameras,
                           AIMetaData mMetaData)
        Initializes this struct with the specified values.
      • set

        public AIScene set(AIScene src)
        Copies the specified struct data to this struct.
        Parameters:
        src - the source struct
        Returns:
        this struct
      • malloc

        public static AIScene malloc()
        Returns a new AIScene instance allocated with memAlloc. The instance must be explicitly freed.
      • calloc

        public static AIScene calloc()
        Returns a new AIScene instance allocated with memCalloc. The instance must be explicitly freed.
      • create

        public static AIScene create()
        Returns a new AIScene instance allocated with BufferUtils.
      • create

        public static AIScene create(long address)
        Returns a new AIScene instance for the specified memory address.
      • createSafe

        @Nullable
        public static AIScene createSafe(long address)
        Like create, but returns null if address is NULL.
      • malloc

        public static AIScene.Buffer malloc(int capacity)
        Returns a new AIScene.Buffer instance allocated with memAlloc. The instance must be explicitly freed.
        Parameters:
        capacity - the buffer capacity
      • calloc

        public static AIScene.Buffer calloc(int capacity)
        Returns a new AIScene.Buffer instance allocated with memCalloc. The instance must be explicitly freed.
        Parameters:
        capacity - the buffer capacity
      • create

        public static AIScene.Buffer create(int capacity)
        Returns a new AIScene.Buffer instance allocated with BufferUtils.
        Parameters:
        capacity - the buffer capacity
      • create

        public static AIScene.Buffer create(long address,
                                            int capacity)
        Create a AIScene.Buffer instance at the specified memory.
        Parameters:
        address - the memory address
        capacity - the buffer capacity
      • createSafe

        @Nullable
        public static AIScene.Buffer createSafe(long address,
                                                int capacity)
        Like create, but returns null if address is NULL.
      • mallocStack

        public static AIScene mallocStack()
        Returns a new AIScene instance allocated on the thread-local MemoryStack.
      • callocStack

        public static AIScene callocStack()
        Returns a new AIScene instance allocated on the thread-local MemoryStack and initializes all its bits to zero.
      • mallocStack

        public static AIScene mallocStack(org.lwjgl.system.MemoryStack stack)
        Returns a new AIScene instance allocated on the specified MemoryStack.
        Parameters:
        stack - the stack from which to allocate
      • callocStack

        public static AIScene callocStack(org.lwjgl.system.MemoryStack stack)
        Returns a new AIScene instance allocated on the specified MemoryStack and initializes all its bits to zero.
        Parameters:
        stack - the stack from which to allocate
      • mallocStack

        public static AIScene.Buffer mallocStack(int capacity)
        Returns a new AIScene.Buffer instance allocated on the thread-local MemoryStack.
        Parameters:
        capacity - the buffer capacity
      • callocStack

        public static AIScene.Buffer callocStack(int capacity)
        Returns a new AIScene.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero.
        Parameters:
        capacity - the buffer capacity
      • mallocStack

        public static AIScene.Buffer mallocStack(int capacity,
                                                 org.lwjgl.system.MemoryStack stack)
        Returns a new AIScene.Buffer instance allocated on the specified MemoryStack.
        Parameters:
        stack - the stack from which to allocate
        capacity - the buffer capacity
      • callocStack

        public static AIScene.Buffer callocStack(int capacity,
                                                 org.lwjgl.system.MemoryStack stack)
        Returns a new AIScene.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.
        Parameters:
        stack - the stack from which to allocate
        capacity - the buffer capacity
      • nmPrivate

        public static java.nio.ByteBuffer nmPrivate(long struct,
                                                    int capacity)
      • nmPrivate

        public static void nmPrivate(long struct,
                                     java.nio.ByteBuffer value)
      • validate

        public static void validate(long struct)
        Validates pointer members that should not be NULL.
        Parameters:
        struct - the struct to validate
      • validate

        public static void validate(long array,
                                    int count)
        Calls AIScene.validate(long) for each struct contained in the specified struct array.
        Parameters:
        array - the struct array to validate
        count - the number of structs in array