As a user, you'll probably never need to deal with this data structure. Just use the provided aiGetMaterialXXX() family of functions to query
material properties easily. Processing them manually is faster, but it is not the recommended way. It isn't worth the effort.
Material property names follow a simple scheme:
$<name>
?<name>
A public property, there must be corresponding AI_MATKEY_XXX define
2nd: Public, but ignored by the aiProcess_RemoveRedundantMaterials
post-processing step.
~<name>
A temporary property for internal use.
struct aiMaterialProperty {
struct aiString mKey;
unsigned int mSemantic;
unsigned int mIndex;
unsigned int mDataLength;
aiPropertyTypeInfo mType;
char * mData;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | AIMaterialProperty.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | MDATA
The struct member offsets. |
| public static final int | MDATALENGTH
The struct member offsets. |
| public static final int | MINDEX
The struct member offsets. |
| public static final int | MKEY
The struct member offsets. |
| public static final int | MSEMANTIC
The struct member offsets. |
| public static final int | MTYPE
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | AIMaterialProperty(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| protected AIMaterialProperty | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static AIMaterialProperty | |
| public static AIMaterialProperty. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static AIMaterialProperty | |
| public static AIMaterialProperty. | |
| public ByteBuffer | |
| public int | |
| public int | |
| public AIString | |
| public int | |
| public int | |
| public static ByteBuffer | |
| public static int | |
| public static int | |
| public static AIString | |
| public static int | |
| public static int | |
| public int |
| ALIGNOF | back to summary |
|---|---|
| public static final int ALIGNOF The struct alignment in bytes. | |
| MDATA | back to summary |
|---|---|
| public static final int MDATA The struct member offsets. | |
| MDATALENGTH | back to summary |
|---|---|
| public static final int MDATALENGTH The struct member offsets. | |
| MINDEX | back to summary |
|---|---|
| public static final int MINDEX The struct member offsets. | |
| MKEY | back to summary |
|---|---|
| public static final int MKEY The struct member offsets. | |
| MSEMANTIC | back to summary |
|---|---|
| public static final int MSEMANTIC The struct member offsets. | |
| MTYPE | back to summary |
|---|---|
| public static final int MTYPE The struct member offsets. | |
| SIZEOF | back to summary |
|---|---|
| public static final int SIZEOF The struct size in bytes. | |
| AIMaterialProperty | back to summary |
|---|---|
| protected AIMaterialProperty(long address, ByteBuffer container) | |
| AIMaterialProperty | back to summary |
|---|---|
| public AIMaterialProperty(ByteBuffer container) Creates a The created instance holds a strong reference to the container object. | |
| create | back to summary |
|---|---|
| protected AIMaterialProperty create(long address, ByteBuffer container) Implements abstract org. Doc from org. Similar to Effectively, every
| |
| create | back to summary |
|---|---|
| public static AIMaterialProperty create(long address) Returns a new | |
| create | back to summary |
|---|---|
| public static AIMaterialProperty. Create a
| |
| createSafe | back to summary |
|---|---|
| public static AIMaterialProperty createSafe(long address) Like
| |
| createSafe | back to summary |
|---|---|
| public static AIMaterialProperty. Like
| |
| mData | back to summary |
|---|---|
| public ByteBuffer mData() Binary buffer to hold the property's value. The size of the buffer is always mDataLength.
| |
| mDataLength | back to summary |
|---|---|
| public int mDataLength() Size of the buffer
| |
| mIndex | back to summary |
|---|---|
| public int mIndex() Textures: Specifies the index of the texture. For non-texture properties, this member is always 0.
| |
| mKey | back to summary |
|---|---|
| public AIString mKey() Specifies the name of the property (key). Keys are generally case insensitive.
| |
| mSemantic | back to summary |
|---|---|
| public int mSemantic() Textures: Specifies their exact usage semantic. For non-texture properties, this member is always 0 (or, better-said,
| |
| mType | back to summary |
|---|---|
| public int mType() Type information for the property. Defines the data layout inside the data buffer. This is used by the library internally to perform debug checks and to utilize proper type conversions. (It's probably a hacky solution, but it works.)
| |
| nmData | back to summary |
|---|---|
| public static ByteBuffer nmData(long struct) Unsafe version of | |
| nmDataLength | back to summary |
|---|---|
| public static int nmDataLength(long struct) Unsafe version of | |
| nmIndex | back to summary |
|---|---|
| public static int nmIndex(long struct) Unsafe version of | |
| nmKey | back to summary |
|---|---|
| public static AIString nmKey(long struct) Unsafe version of | |
| nmSemantic | back to summary |
|---|---|
| public static int nmSemantic(long struct) Unsafe version of | |
| nmType | back to summary |
|---|---|
| public static int nmType(long struct) Unsafe version of | |
| sizeof | back to summary |
|---|---|
| public int sizeof() Implements abstract org. Doc from org. Returns
| |
AIMaterialProperty structs.
| Modifier and Type | Field and Description |
|---|---|
| private static final AIMaterialProperty |
| Access | Constructor and Description |
|---|---|
| public | Buffer(ByteBuffer container)
Creates a new |
| public | |
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| protected AIMaterialProperty | |
| public ByteBuffer | |
| public int | |
| public int | |
| public AIString | |
| public int | |
| public int | |
| protected AIMaterialProperty. |
| ELEMENT_FACTORY | back to summary |
|---|---|
| private static final AIMaterialProperty ELEMENT_FACTORY | |
| Buffer | back to summary |
|---|---|
| public Buffer(ByteBuffer container) Creates a new Changes to the container's content will be visible to the struct buffer instance and vice versa. The two buffers' position, limit, and mark values
will be independent. The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided
by The created buffer instance holds a strong reference to the container object. | |
| Buffer | back to summary |
|---|---|
| public Buffer(long address, int cap) | |
| Buffer | back to summary |
|---|---|
| pack-priv Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap) | |
| getElementFactory | back to summary |
|---|---|
| protected AIMaterialProperty getElementFactory() Implements abstract org.
| |
| mData | back to summary |
|---|---|
public ByteBuffer mData()
| |
| mDataLength | back to summary |
|---|---|
public int mDataLength()
| |
| mIndex | back to summary |
|---|---|
public int mIndex()
| |
| mKey | back to summary |
|---|---|
public AIString mKey()
| |
| mSemantic | back to summary |
|---|---|
public int mSemantic()
| |
| mType | back to summary |
|---|---|
public int mType()
| |
| self | back to summary |
|---|---|
| protected AIMaterialProperty. Implements abstract org.
| |