public class ID extends CFacade
Library
). Those
elements are instances of structs which contain an
embedded member of type ID as their first element.Link
)There's a nasty circular dependency here.... 'void *' to the rescue! I really wonder why this is needed.
Modifier and Type | Field and Description |
---|---|
static long[] |
__DNA__FIELD__flag
Field descriptor (offset) for struct member 'flag'.
|
static long[] |
__DNA__FIELD__icon_id
Field descriptor (offset) for struct member 'icon_id'.
|
static long[] |
__DNA__FIELD__lib
Field descriptor (offset) for struct member 'lib'.
|
static long[] |
__DNA__FIELD__name
Field descriptor (offset) for struct member 'name'.
|
static long[] |
__DNA__FIELD__newid
Field descriptor (offset) for struct member 'newid'.
|
static long[] |
__DNA__FIELD__next
Field descriptor (offset) for struct member 'next'.
|
static long[] |
__DNA__FIELD__orig_id
Field descriptor (offset) for struct member 'orig_id'.
|
static long[] |
__DNA__FIELD__override_library
Field descriptor (offset) for struct member 'override_library'.
|
static long[] |
__DNA__FIELD__prev
Field descriptor (offset) for struct member 'prev'.
|
static long[] |
__DNA__FIELD__properties
Field descriptor (offset) for struct member 'properties'.
|
static long[] |
__DNA__FIELD__py_instance
Field descriptor (offset) for struct member 'py_instance'.
|
static long[] |
__DNA__FIELD__recalc
Field descriptor (offset) for struct member 'recalc'.
|
static long[] |
__DNA__FIELD__recalc_after_undo_push
Field descriptor (offset) for struct member 'recalc_after_undo_push'.
|
static long[] |
__DNA__FIELD__recalc_up_to_undo_push
Field descriptor (offset) for struct member 'recalc_up_to_undo_push'.
|
static long[] |
__DNA__FIELD__session_uuid
Field descriptor (offset) for struct member 'session_uuid'.
|
static long[] |
__DNA__FIELD__tag
Field descriptor (offset) for struct member 'tag'.
|
static long[] |
__DNA__FIELD__us
Field descriptor (offset) for struct member 'us'.
|
static int |
__DNA__SDNA_INDEX
This is the sdna index of the struct ID.
|
__io__address, __io__arch_index, __io__block, __io__blockTable, __io__pointersize
Modifier | Constructor and Description |
---|---|
protected |
ID(ID that) |
|
ID(long __address,
Block __block,
BlockTable __blockTable) |
Modifier and Type | Method and Description |
---|---|
CPointer<ID> |
__io__addressof()
Instantiates a pointer on this instance.
|
short |
getFlag()
Get method for struct member 'flag'.
|
int |
getIcon_id()
Get method for struct member 'icon_id'.
|
CPointer<Library> |
getLib()
Get method for struct member 'lib'.
|
CArrayFacade<java.lang.Byte> |
getName()
Get method for struct member 'name'.
|
CPointer<ID> |
getNewid()
Get method for struct member 'newid'.
|
CPointer<java.lang.Object> |
getNext()
Get method for struct member 'next'.
|
CPointer<ID> |
getOrig_id()
Get method for struct member 'orig_id'.
|
CPointer<IDOverrideLibrary> |
getOverride_library()
Get method for struct member 'override_library'.
|
CPointer<java.lang.Object> |
getPrev()
Get method for struct member 'prev'.
|
CPointer<IDProperty> |
getProperties()
Get method for struct member 'properties'.
|
CPointer<java.lang.Object> |
getPy_instance()
Get method for struct member 'py_instance'.
|
int |
getRecalc_after_undo_push()
Get method for struct member 'recalc_after_undo_push'.
|
int |
getRecalc_up_to_undo_push()
Get method for struct member 'recalc_up_to_undo_push'.
|
int |
getRecalc()
Get method for struct member 'recalc'.
|
int |
getSession_uuid()
Get method for struct member 'session_uuid'.
|
int |
getTag()
Get method for struct member 'tag'.
|
int |
getUs()
Get method for struct member 'us'.
|
void |
setFlag(short flag)
Set method for struct member 'flag'.
|
void |
setIcon_id(int icon_id)
Set method for struct member 'icon_id'.
|
void |
setLib(CPointer<Library> lib)
Set method for struct member 'lib'.
|
void |
setName(CArrayFacade<java.lang.Byte> name)
Set method for struct member 'name'.
|
void |
setNewid(CPointer<ID> newid)
Set method for struct member 'newid'.
|
void |
setNext(CPointer<java.lang.Object> next)
Set method for struct member 'next'.
|
void |
setOrig_id(CPointer<ID> orig_id)
Set method for struct member 'orig_id'.
|
void |
setOverride_library(CPointer<IDOverrideLibrary> override_library)
Set method for struct member 'override_library'.
|
void |
setPrev(CPointer<java.lang.Object> prev)
Set method for struct member 'prev'.
|
void |
setProperties(CPointer<IDProperty> properties)
Set method for struct member 'properties'.
|
void |
setPy_instance(CPointer<java.lang.Object> py_instance)
Set method for struct member 'py_instance'.
|
void |
setRecalc_after_undo_push(int recalc_after_undo_push)
Set method for struct member 'recalc_after_undo_push'.
|
void |
setRecalc_up_to_undo_push(int recalc_up_to_undo_push)
Set method for struct member 'recalc_up_to_undo_push'.
|
void |
setRecalc(int recalc)
Set method for struct member 'recalc'.
|
void |
setSession_uuid(int session_uuid)
Set method for struct member 'session_uuid'.
|
void |
setTag(int tag)
Set method for struct member 'tag'.
|
void |
setUs(int us)
Set method for struct member 'us'.
|
__io__addressof, __io__addressof, __io__equals, __io__generic__copy, __io__generic__copy, __io__instanceof, __io__native__copy, __io__newInstance, __io__same__encoding, __io__sizeof, __io__sizeof, __io__subclassof
public static final int __DNA__SDNA_INDEX
It is required when allocating a new block to store data for ID.
org.cakelab.blender.io.dna.internal.StructDNA}
,
org.cakelab.blender.io.block.BlockTable#allocate}
,
Constant Field Valuespublic static final long[] __DNA__FIELD__next
This is how you get a reference on the corresponding field in the struct:
ID id = ...; CPointer<Object> p = id.__dna__addressof(ID.__DNA__FIELD__next); CPointer<CPointer<Object>> p_next = p.cast(new Class[]{CPointer.class, Object.class});
public static final long[] __DNA__FIELD__prev
This is how you get a reference on the corresponding field in the struct:
ID id = ...; CPointer<Object> p = id.__dna__addressof(ID.__DNA__FIELD__prev); CPointer<CPointer<Object>> p_prev = p.cast(new Class[]{CPointer.class, Object.class});
public static final long[] __DNA__FIELD__newid
This is how you get a reference on the corresponding field in the struct:
ID id = ...; CPointer<Object> p = id.__dna__addressof(ID.__DNA__FIELD__newid); CPointer<CPointer<ID>> p_newid = p.cast(new Class[]{CPointer.class, ID.class});
public static final long[] __DNA__FIELD__lib
This is how you get a reference on the corresponding field in the struct:
ID id = ...; CPointer<Object> p = id.__dna__addressof(ID.__DNA__FIELD__lib); CPointer<CPointer<Library>> p_lib = p.cast(new Class[]{CPointer.class, Library.class});
public static final long[] __DNA__FIELD__name
Names of library elements which have an specific block code, such as
Mesh (ME) and Tex (ME), always have the first two ASCII characters of
the block code as its prefix. Data of blocks with unspecified block
code (i.e. BlockCodes#ID_DATA
) have other names.
Element type | Name prefix |
---|---|
BlenderObject | "OB" |
Mesh | "ME" |
Material | "MA" |
Tex | "TE" |
CustomDataLayer for MPoly | "NGon Face" |
CustomDataLayer for MLoop | "NGon Face-Vertex" |
MAX_ID_NAME.
This is how you get a reference on the corresponding field in the struct:
ID id = ...; CPointer<Object> p = id.__dna__addressof(ID.__DNA__FIELD__name); CPointer<CArrayFacade<Byte>> p_name = p.cast(new Class[]{CArrayFacade.class, Byte.class});
public static final long[] __DNA__FIELD__flag
LIB_LOCAL | 0 | |
LIB_EXTERN | 1 | |
LIB_INDIRECT | 2 | |
LIB_NEED_EXPAND | 8 | |
LIB_TESTEXT | (LIB_NEED_EXPAND | LIB_EXTERN) | |
LIB_TESTIND | (LIB_NEED_EXPAND | LIB_INDIRECT) | |
LIB_READ | 16 | |
LIB_NEED_LINK | 32 | |
LIB_NEW | 256 | |
LIB_FAKEUSER | 512 | |
LIB_DOIT | 1024 | free test flag |
LIB_PRE_EXISTING | 2048 | tag existing data before linking so we know what is new |
LIB_ID_RECALC | 4096 | runtime |
LIB_ID_RECALC_DATA | 8192 | runtime |
LIB_... flags report on status of the data-block this ID
belongs to (persistent, saved to and read from .blend).
This is how you get a reference on the corresponding field in the struct:
ID id = ...; CPointer<Object> p = id.__dna__addressof(ID.__DNA__FIELD__flag); CPointer<Short> p_flag = p.cast(new Class[]{Short.class});
public static final long[] __DNA__FIELD__tag
LIB_TAG_... tags (runtime only, cleared at read time).
This is how you get a reference on the corresponding field in the struct:
ID id = ...; CPointer<Object> p = id.__dna__addressof(ID.__DNA__FIELD__tag); CPointer<Integer> p_tag = p.cast(new Class[]{Integer.class});
public static final long[] __DNA__FIELD__us
This is how you get a reference on the corresponding field in the struct:
ID id = ...; CPointer<Object> p = id.__dna__addressof(ID.__DNA__FIELD__us); CPointer<Integer> p_us = p.cast(new Class[]{Integer.class});
public static final long[] __DNA__FIELD__icon_id
This is how you get a reference on the corresponding field in the struct:
ID id = ...; CPointer<Object> p = id.__dna__addressof(ID.__DNA__FIELD__icon_id); CPointer<Integer> p_icon_id = p.cast(new Class[]{Integer.class});
public static final long[] __DNA__FIELD__recalc
This is how you get a reference on the corresponding field in the struct:
ID id = ...; CPointer<Object> p = id.__dna__addressof(ID.__DNA__FIELD__recalc); CPointer<Integer> p_recalc = p.cast(new Class[]{Integer.class});
public static final long[] __DNA__FIELD__recalc_up_to_undo_push
Used by undo code. recalc_after_undo_push contains the changes between the last undo push and the current state. This is accumulated as IDs are tagged for update in the depsgraph, and only cleared on undo push.
recalc_up_to_undo_push is saved to undo memory, and is the value of recalc_after_undo_push at the time of the undo push. This means it can be used to find the changes between undo states.
This is how you get a reference on the corresponding field in the struct:
ID id = ...; CPointer<Object> p = id.__dna__addressof(ID.__DNA__FIELD__recalc_up_to_undo_push); CPointer<Integer> p_recalc_up_to_undo_push = p.cast(new Class[]{Integer.class});
public static final long[] __DNA__FIELD__recalc_after_undo_push
This is how you get a reference on the corresponding field in the struct:
ID id = ...; CPointer<Object> p = id.__dna__addressof(ID.__DNA__FIELD__recalc_after_undo_push); CPointer<Integer> p_recalc_after_undo_push = p.cast(new Class[]{Integer.class});
public static final long[] __DNA__FIELD__session_uuid
A session-wide unique identifier for a given ID
, that remain the same across potential re-allocations (e.g. due to undo/redo steps).
This is how you get a reference on the corresponding field in the struct:
ID id = ...; CPointer<Object> p = id.__dna__addressof(ID.__DNA__FIELD__session_uuid); CPointer<Integer> p_session_uuid = p.cast(new Class[]{Integer.class});
public static final long[] __DNA__FIELD__properties
This is how you get a reference on the corresponding field in the struct:
ID id = ...; CPointer<Object> p = id.__dna__addressof(ID.__DNA__FIELD__properties); CPointer<CPointer<IDProperty>> p_properties = p.cast(new Class[]{CPointer.class, IDProperty.class});
public static final long[] __DNA__FIELD__override_library
Reference linked ID
which this one overrides.
This is how you get a reference on the corresponding field in the struct:
ID id = ...; CPointer<Object> p = id.__dna__addressof(ID.__DNA__FIELD__override_library); CPointer<CPointer<IDOverrideLibrary>> p_override_library = p.cast(new Class[]{CPointer.class, IDOverrideLibrary.class});
public static final long[] __DNA__FIELD__orig_id
Only set for data-blocks which are coming from copy-on-write, points to the original version of it.
This is how you get a reference on the corresponding field in the struct:
ID id = ...; CPointer<Object> p = id.__dna__addressof(ID.__DNA__FIELD__orig_id); CPointer<CPointer<ID>> p_orig_id = p.cast(new Class[]{CPointer.class, ID.class});
public static final long[] __DNA__FIELD__py_instance
This is how you get a reference on the corresponding field in the struct:
ID id = ...; CPointer<Object> p = id.__dna__addressof(ID.__DNA__FIELD__py_instance); CPointer<CPointer<Object>> p_py_instance = p.cast(new Class[]{CPointer.class, Object.class});
public ID(long __address, Block __block, BlockTable __blockTable)
protected ID(ID that)
public CPointer<java.lang.Object> getNext() throws java.io.IOException
java.io.IOException
__DNA__FIELD__next
public void setNext(CPointer<java.lang.Object> next) throws java.io.IOException
java.io.IOException
__DNA__FIELD__next
public CPointer<java.lang.Object> getPrev() throws java.io.IOException
java.io.IOException
__DNA__FIELD__prev
public void setPrev(CPointer<java.lang.Object> prev) throws java.io.IOException
java.io.IOException
__DNA__FIELD__prev
public CPointer<ID> getNewid() throws java.io.IOException
java.io.IOException
__DNA__FIELD__newid
public void setNewid(CPointer<ID> newid) throws java.io.IOException
java.io.IOException
__DNA__FIELD__newid
public CPointer<Library> getLib() throws java.io.IOException
java.io.IOException
__DNA__FIELD__lib
public void setLib(CPointer<Library> lib) throws java.io.IOException
java.io.IOException
__DNA__FIELD__lib
public CArrayFacade<java.lang.Byte> getName() throws java.io.IOException
Names of library elements which have an specific block code, such as
Mesh (ME) and Tex (ME), always have the first two ASCII characters of
the block code as its prefix. Data of blocks with unspecified block
code (i.e. BlockCodes#ID_DATA
) have other names.
Element type | Name prefix |
---|---|
BlenderObject | "OB" |
Mesh | "ME" |
Material | "MA" |
Tex | "TE" |
CustomDataLayer for MPoly | "NGon Face" |
CustomDataLayer for MLoop | "NGon Face-Vertex" |
MAX_ID_NAME.
java.io.IOException
__DNA__FIELD__name
public void setName(CArrayFacade<java.lang.Byte> name) throws java.io.IOException
Names of library elements which have an specific block code, such as
Mesh (ME) and Tex (ME), always have the first two ASCII characters of
the block code as its prefix. Data of blocks with unspecified block
code (i.e. BlockCodes#ID_DATA
) have other names.
Element type | Name prefix |
---|---|
BlenderObject | "OB" |
Mesh | "ME" |
Material | "MA" |
Tex | "TE" |
CustomDataLayer for MPoly | "NGon Face" |
CustomDataLayer for MLoop | "NGon Face-Vertex" |
MAX_ID_NAME.
java.io.IOException
__DNA__FIELD__name
public short getFlag() throws java.io.IOException
LIB_LOCAL | 0 | |
LIB_EXTERN | 1 | |
LIB_INDIRECT | 2 | |
LIB_NEED_EXPAND | 8 | |
LIB_TESTEXT | (LIB_NEED_EXPAND | LIB_EXTERN) | |
LIB_TESTIND | (LIB_NEED_EXPAND | LIB_INDIRECT) | |
LIB_READ | 16 | |
LIB_NEED_LINK | 32 | |
LIB_NEW | 256 | |
LIB_FAKEUSER | 512 | |
LIB_DOIT | 1024 | free test flag |
LIB_PRE_EXISTING | 2048 | tag existing data before linking so we know what is new |
LIB_ID_RECALC | 4096 | runtime |
LIB_ID_RECALC_DATA | 8192 | runtime |
LIB_... flags report on status of the data-block this ID
belongs to (persistent, saved to and read from .blend).
java.io.IOException
__DNA__FIELD__flag
public void setFlag(short flag) throws java.io.IOException
LIB_LOCAL | 0 | |
LIB_EXTERN | 1 | |
LIB_INDIRECT | 2 | |
LIB_NEED_EXPAND | 8 | |
LIB_TESTEXT | (LIB_NEED_EXPAND | LIB_EXTERN) | |
LIB_TESTIND | (LIB_NEED_EXPAND | LIB_INDIRECT) | |
LIB_READ | 16 | |
LIB_NEED_LINK | 32 | |
LIB_NEW | 256 | |
LIB_FAKEUSER | 512 | |
LIB_DOIT | 1024 | free test flag |
LIB_PRE_EXISTING | 2048 | tag existing data before linking so we know what is new |
LIB_ID_RECALC | 4096 | runtime |
LIB_ID_RECALC_DATA | 8192 | runtime |
LIB_... flags report on status of the data-block this ID
belongs to (persistent, saved to and read from .blend).
java.io.IOException
__DNA__FIELD__flag
public int getTag() throws java.io.IOException
LIB_TAG_... tags (runtime only, cleared at read time).
java.io.IOException
__DNA__FIELD__tag
public void setTag(int tag) throws java.io.IOException
LIB_TAG_... tags (runtime only, cleared at read time).
java.io.IOException
__DNA__FIELD__tag
public int getUs() throws java.io.IOException
java.io.IOException
__DNA__FIELD__us
public void setUs(int us) throws java.io.IOException
java.io.IOException
__DNA__FIELD__us
public int getIcon_id() throws java.io.IOException
java.io.IOException
__DNA__FIELD__icon_id
public void setIcon_id(int icon_id) throws java.io.IOException
java.io.IOException
__DNA__FIELD__icon_id
public int getRecalc() throws java.io.IOException
java.io.IOException
__DNA__FIELD__recalc
public void setRecalc(int recalc) throws java.io.IOException
java.io.IOException
__DNA__FIELD__recalc
public int getRecalc_up_to_undo_push() throws java.io.IOException
Used by undo code. recalc_after_undo_push contains the changes between the last undo push and the current state. This is accumulated as IDs are tagged for update in the depsgraph, and only cleared on undo push.
recalc_up_to_undo_push is saved to undo memory, and is the value of recalc_after_undo_push at the time of the undo push. This means it can be used to find the changes between undo states.
java.io.IOException
__DNA__FIELD__recalc_up_to_undo_push
public void setRecalc_up_to_undo_push(int recalc_up_to_undo_push) throws java.io.IOException
Used by undo code. recalc_after_undo_push contains the changes between the last undo push and the current state. This is accumulated as IDs are tagged for update in the depsgraph, and only cleared on undo push.
recalc_up_to_undo_push is saved to undo memory, and is the value of recalc_after_undo_push at the time of the undo push. This means it can be used to find the changes between undo states.
java.io.IOException
__DNA__FIELD__recalc_up_to_undo_push
public int getRecalc_after_undo_push() throws java.io.IOException
java.io.IOException
__DNA__FIELD__recalc_after_undo_push
public void setRecalc_after_undo_push(int recalc_after_undo_push) throws java.io.IOException
java.io.IOException
__DNA__FIELD__recalc_after_undo_push
public int getSession_uuid() throws java.io.IOException
A session-wide unique identifier for a given ID
, that remain the same across potential re-allocations (e.g. due to undo/redo steps).
java.io.IOException
__DNA__FIELD__session_uuid
public void setSession_uuid(int session_uuid) throws java.io.IOException
A session-wide unique identifier for a given ID
, that remain the same across potential re-allocations (e.g. due to undo/redo steps).
java.io.IOException
__DNA__FIELD__session_uuid
public CPointer<IDProperty> getProperties() throws java.io.IOException
java.io.IOException
__DNA__FIELD__properties
public void setProperties(CPointer<IDProperty> properties) throws java.io.IOException
java.io.IOException
__DNA__FIELD__properties
public CPointer<IDOverrideLibrary> getOverride_library() throws java.io.IOException
Reference linked ID
which this one overrides.
java.io.IOException
__DNA__FIELD__override_library
public void setOverride_library(CPointer<IDOverrideLibrary> override_library) throws java.io.IOException
Reference linked ID
which this one overrides.
java.io.IOException
__DNA__FIELD__override_library
public CPointer<ID> getOrig_id() throws java.io.IOException
Only set for data-blocks which are coming from copy-on-write, points to the original version of it.
java.io.IOException
__DNA__FIELD__orig_id
public void setOrig_id(CPointer<ID> orig_id) throws java.io.IOException
Only set for data-blocks which are coming from copy-on-write, points to the original version of it.
java.io.IOException
__DNA__FIELD__orig_id
public CPointer<java.lang.Object> getPy_instance() throws java.io.IOException
java.io.IOException
__DNA__FIELD__py_instance
public void setPy_instance(CPointer<java.lang.Object> py_instance) throws java.io.IOException
java.io.IOException
__DNA__FIELD__py_instance