Class KeyBlock


  • public class KeyBlock
    extends CFacade
    Generated facet for DNA struct type 'KeyBlock'.

    Class Documentation

    • Field Detail

      • __DNA__SDNA_INDEX

        public static final int __DNA__SDNA_INDEX
        This is the sdna index of the struct KeyBlock.

        It is required when allocating a new block to store data for KeyBlock.

        See Also:
        StructDNA, BlockTable, Constant Field Values
      • __DNA__FIELD__next

        public static final long[] __DNA__FIELD__next
        Field descriptor (offset) for struct member 'next'.

        Pointer Arithmetics

        This is how you get a reference on the corresponding field in the struct:

         KeyBlock keyblock = ...;
         CPointer<Object> p = keyblock.__dna__addressof(KeyBlock.__DNA__FIELD__next);
         CPointer<CPointer<KeyBlock>> p_next = p.cast(new Class[]{CPointer.class, KeyBlock.class});
         

        Metadata

        • Field: 'next'
        • Signature: 'KeyBlock*'
        • Actual Size (32bit/64bit): 4/8
      • __DNA__FIELD__prev

        public static final long[] __DNA__FIELD__prev
        Field descriptor (offset) for struct member 'prev'.

        Pointer Arithmetics

        This is how you get a reference on the corresponding field in the struct:

         KeyBlock keyblock = ...;
         CPointer<Object> p = keyblock.__dna__addressof(KeyBlock.__DNA__FIELD__prev);
         CPointer<CPointer<KeyBlock>> p_prev = p.cast(new Class[]{CPointer.class, KeyBlock.class});
         

        Metadata

        • Field: 'prev'
        • Signature: 'KeyBlock*'
        • Actual Size (32bit/64bit): 4/8
      • __DNA__FIELD__pos

        public static final long[] __DNA__FIELD__pos
        Field descriptor (offset) for struct member 'pos'.

        Field Documentation

        Blender Source Code

        point in time (Key->type == KEY_NORMAL) only, for historic reasons this is relative to (Key->ctime / 100), so this value increments by 0.1f per frame.

        Pointer Arithmetics

        This is how you get a reference on the corresponding field in the struct:

         KeyBlock keyblock = ...;
         CPointer<Object> p = keyblock.__dna__addressof(KeyBlock.__DNA__FIELD__pos);
         CPointer<Float> p_pos = p.cast(new Class[]{Float.class});
         

        Metadata

        • Field: 'pos'
        • Signature: 'float'
        • Actual Size (32bit/64bit): 4/4
      • __DNA__FIELD__curval

        public static final long[] __DNA__FIELD__curval
        Field descriptor (offset) for struct member 'curval'.

        Field Documentation

        Blender Source Code

        influence (typically [0 - 1] but can be more), (Key->type == KEY_RELATIVE) only.

        Pointer Arithmetics

        This is how you get a reference on the corresponding field in the struct:

         KeyBlock keyblock = ...;
         CPointer<Object> p = keyblock.__dna__addressof(KeyBlock.__DNA__FIELD__curval);
         CPointer<Float> p_curval = p.cast(new Class[]{Float.class});
         

        Metadata

        • Field: 'curval'
        • Signature: 'float'
        • Actual Size (32bit/64bit): 4/4
      • __DNA__FIELD__type

        public static final long[] __DNA__FIELD__type
        Field descriptor (offset) for struct member 'type'.

        Field Documentation

        Blender Source Code

        interpolation type (Key->type == KEY_NORMAL) only.

        Pointer Arithmetics

        This is how you get a reference on the corresponding field in the struct:

         KeyBlock keyblock = ...;
         CPointer<Object> p = keyblock.__dna__addressof(KeyBlock.__DNA__FIELD__type);
         CPointer<Short> p_type = p.cast(new Class[]{Short.class});
         

        Metadata

        • Field: 'type'
        • Signature: 'short'
        • Actual Size (32bit/64bit): 2/2
      • __DNA__FIELD___pad1

        public static final long[] __DNA__FIELD___pad1
        Field descriptor (offset) for struct member '_pad1'.

        Pointer Arithmetics

        This is how you get a reference on the corresponding field in the struct:

         KeyBlock keyblock = ...;
         CPointer<Object> p = keyblock.__dna__addressof(KeyBlock.__DNA__FIELD___pad1);
         CPointer<CArrayFacade<Byte>> p__pad1 = p.cast(new Class[]{CArrayFacade.class, Byte.class});
         

        Metadata

        • Field: '_pad1'
        • Signature: 'char[2]'
        • Actual Size (32bit/64bit): 2/2
      • __DNA__FIELD__relative

        public static final long[] __DNA__FIELD__relative
        Field descriptor (offset) for struct member 'relative'.

        Field Documentation

        Blender Source Code

        relative == 0 means first key is reference, otherwise the index of Key->blocks

        Pointer Arithmetics

        This is how you get a reference on the corresponding field in the struct:

         KeyBlock keyblock = ...;
         CPointer<Object> p = keyblock.__dna__addressof(KeyBlock.__DNA__FIELD__relative);
         CPointer<Short> p_relative = p.cast(new Class[]{Short.class});
         

        Metadata

        • Field: 'relative'
        • Signature: 'short'
        • Actual Size (32bit/64bit): 2/2
      • __DNA__FIELD__flag

        public static final long[] __DNA__FIELD__flag
        Field descriptor (offset) for struct member 'flag'.

        Pointer Arithmetics

        This is how you get a reference on the corresponding field in the struct:

         KeyBlock keyblock = ...;
         CPointer<Object> p = keyblock.__dna__addressof(KeyBlock.__DNA__FIELD__flag);
         CPointer<Short> p_flag = p.cast(new Class[]{Short.class});
         

        Metadata

        • Field: 'flag'
        • Signature: 'short'
        • Actual Size (32bit/64bit): 2/2
      • __DNA__FIELD__totelem

        public static final long[] __DNA__FIELD__totelem
        Field descriptor (offset) for struct member 'totelem'.

        Field Documentation

        Blender Source Code

        total number if items in the keyblock (compare with mesh/curve verts to check we match)

        Pointer Arithmetics

        This is how you get a reference on the corresponding field in the struct:

         KeyBlock keyblock = ...;
         CPointer<Object> p = keyblock.__dna__addressof(KeyBlock.__DNA__FIELD__totelem);
         CPointer<Integer> p_totelem = p.cast(new Class[]{Integer.class});
         

        Metadata

        • Field: 'totelem'
        • Signature: 'int'
        • Actual Size (32bit/64bit): 4/4
      • __DNA__FIELD__uid

        public static final long[] __DNA__FIELD__uid
        Field descriptor (offset) for struct member 'uid'.

        Field Documentation

        Blender Source Code

        for meshes only, match the unique number with the customdata layer

        Pointer Arithmetics

        This is how you get a reference on the corresponding field in the struct:

         KeyBlock keyblock = ...;
         CPointer<Object> p = keyblock.__dna__addressof(KeyBlock.__DNA__FIELD__uid);
         CPointer<Integer> p_uid = p.cast(new Class[]{Integer.class});
         

        Metadata

        • Field: 'uid'
        • Signature: 'int'
        • Actual Size (32bit/64bit): 4/4
      • __DNA__FIELD__data

        public static final long[] __DNA__FIELD__data
        Field descriptor (offset) for struct member 'data'.

        Field Documentation

        Blender Source Code

        array of shape key values, size is (Key->elemsize * KeyBlock->totelem)

        Pointer Arithmetics

        This is how you get a reference on the corresponding field in the struct:

         KeyBlock keyblock = ...;
         CPointer<Object> p = keyblock.__dna__addressof(KeyBlock.__DNA__FIELD__data);
         CPointer<CPointer<Object>> p_data = p.cast(new Class[]{CPointer.class, Object.class});
         

        Metadata

        • Field: 'data'
        • Signature: 'void*'
        • Actual Size (32bit/64bit): 4/8
      • __DNA__FIELD__name

        public static final long[] __DNA__FIELD__name
        Field descriptor (offset) for struct member 'name'.

        Field Documentation

        Blender Source Code

        MAX_NAME (unique name, user assigned)

        Pointer Arithmetics

        This is how you get a reference on the corresponding field in the struct:

         KeyBlock keyblock = ...;
         CPointer<Object> p = keyblock.__dna__addressof(KeyBlock.__DNA__FIELD__name);
         CPointer<CArrayFacade<Byte>> p_name = p.cast(new Class[]{CArrayFacade.class, Byte.class});
         

        Metadata

        • Field: 'name'
        • Signature: 'char[64]'
        • Actual Size (32bit/64bit): 64/64
      • __DNA__FIELD__vgroup

        public static final long[] __DNA__FIELD__vgroup
        Field descriptor (offset) for struct member 'vgroup'.

        Field Documentation

        Blender Source Code

        MAX_VGROUP_NAME (optional vertex group), array gets allocated into 'weights' when set

        Pointer Arithmetics

        This is how you get a reference on the corresponding field in the struct:

         KeyBlock keyblock = ...;
         CPointer<Object> p = keyblock.__dna__addressof(KeyBlock.__DNA__FIELD__vgroup);
         CPointer<CArrayFacade<Byte>> p_vgroup = p.cast(new Class[]{CArrayFacade.class, Byte.class});
         

        Metadata

        • Field: 'vgroup'
        • Signature: 'char[64]'
        • Actual Size (32bit/64bit): 64/64
      • __DNA__FIELD__slidermin

        public static final long[] __DNA__FIELD__slidermin
        Field descriptor (offset) for struct member 'slidermin'.

        Field Documentation

        Blender Source Code

        ranges, for RNA and UI only to clamp 'curval'

        Pointer Arithmetics

        This is how you get a reference on the corresponding field in the struct:

         KeyBlock keyblock = ...;
         CPointer<Object> p = keyblock.__dna__addressof(KeyBlock.__DNA__FIELD__slidermin);
         CPointer<Float> p_slidermin = p.cast(new Class[]{Float.class});
         

        Metadata

        • Field: 'slidermin'
        • Signature: 'float'
        • Actual Size (32bit/64bit): 4/4
      • __DNA__FIELD__slidermax

        public static final long[] __DNA__FIELD__slidermax
        Field descriptor (offset) for struct member 'slidermax'.

        Pointer Arithmetics

        This is how you get a reference on the corresponding field in the struct:

         KeyBlock keyblock = ...;
         CPointer<Object> p = keyblock.__dna__addressof(KeyBlock.__DNA__FIELD__slidermax);
         CPointer<Float> p_slidermax = p.cast(new Class[]{Float.class});
         

        Metadata

        • Field: 'slidermax'
        • Signature: 'float'
        • Actual Size (32bit/64bit): 4/4
    • Constructor Detail

      • KeyBlock

        public KeyBlock​(long __address,
                        Block __block,
                        BlockTable __blockTable)
      • KeyBlock

        protected KeyBlock​(KeyBlock that)
    • Method Detail

      • setNext

        public void setNext​(CPointer<KeyBlock> next)
                     throws java.io.IOException
        Set method for struct member 'next'.
        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__next
      • setPrev

        public void setPrev​(CPointer<KeyBlock> prev)
                     throws java.io.IOException
        Set method for struct member 'prev'.
        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__prev
      • getPos

        public float getPos()
                     throws java.io.IOException
        Get method for struct member 'pos'.

        Field Documentation

        Blender Source Code

        point in time (Key->type == KEY_NORMAL) only, for historic reasons this is relative to (Key->ctime / 100), so this value increments by 0.1f per frame.

        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__pos
      • setPos

        public void setPos​(float pos)
                    throws java.io.IOException
        Set method for struct member 'pos'.

        Field Documentation

        Blender Source Code

        point in time (Key->type == KEY_NORMAL) only, for historic reasons this is relative to (Key->ctime / 100), so this value increments by 0.1f per frame.

        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__pos
      • getCurval

        public float getCurval()
                        throws java.io.IOException
        Get method for struct member 'curval'.

        Field Documentation

        Blender Source Code

        influence (typically [0 - 1] but can be more), (Key->type == KEY_RELATIVE) only.

        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__curval
      • setCurval

        public void setCurval​(float curval)
                       throws java.io.IOException
        Set method for struct member 'curval'.

        Field Documentation

        Blender Source Code

        influence (typically [0 - 1] but can be more), (Key->type == KEY_RELATIVE) only.

        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__curval
      • getType

        public short getType()
                      throws java.io.IOException
        Get method for struct member 'type'.

        Field Documentation

        Blender Source Code

        interpolation type (Key->type == KEY_NORMAL) only.

        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__type
      • setType

        public void setType​(short type)
                     throws java.io.IOException
        Set method for struct member 'type'.

        Field Documentation

        Blender Source Code

        interpolation type (Key->type == KEY_NORMAL) only.

        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__type
      • get_pad1

        public CArrayFacade<java.lang.Byte> get_pad1()
                                              throws java.io.IOException
        Get method for struct member '_pad1'.
        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD___pad1
      • set_pad1

        public void set_pad1​(CArrayFacade<java.lang.Byte> _pad1)
                      throws java.io.IOException
        Set method for struct member '_pad1'.
        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD___pad1
      • getRelative

        public short getRelative()
                          throws java.io.IOException
        Get method for struct member 'relative'.

        Field Documentation

        Blender Source Code

        relative == 0 means first key is reference, otherwise the index of Key->blocks

        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__relative
      • setRelative

        public void setRelative​(short relative)
                         throws java.io.IOException
        Set method for struct member 'relative'.

        Field Documentation

        Blender Source Code

        relative == 0 means first key is reference, otherwise the index of Key->blocks

        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__relative
      • getFlag

        public short getFlag()
                      throws java.io.IOException
        Get method for struct member 'flag'.
        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__flag
      • setFlag

        public void setFlag​(short flag)
                     throws java.io.IOException
        Set method for struct member 'flag'.
        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__flag
      • getTotelem

        public int getTotelem()
                       throws java.io.IOException
        Get method for struct member 'totelem'.

        Field Documentation

        Blender Source Code

        total number if items in the keyblock (compare with mesh/curve verts to check we match)

        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__totelem
      • setTotelem

        public void setTotelem​(int totelem)
                        throws java.io.IOException
        Set method for struct member 'totelem'.

        Field Documentation

        Blender Source Code

        total number if items in the keyblock (compare with mesh/curve verts to check we match)

        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__totelem
      • getUid

        public int getUid()
                   throws java.io.IOException
        Get method for struct member 'uid'.

        Field Documentation

        Blender Source Code

        for meshes only, match the unique number with the customdata layer

        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__uid
      • setUid

        public void setUid​(int uid)
                    throws java.io.IOException
        Set method for struct member 'uid'.

        Field Documentation

        Blender Source Code

        for meshes only, match the unique number with the customdata layer

        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__uid
      • getData

        public CPointer<java.lang.Object> getData()
                                           throws java.io.IOException
        Get method for struct member 'data'.

        Field Documentation

        Blender Source Code

        array of shape key values, size is (Key->elemsize * KeyBlock->totelem)

        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__data
      • setData

        public void setData​(CPointer<java.lang.Object> data)
                     throws java.io.IOException
        Set method for struct member 'data'.

        Field Documentation

        Blender Source Code

        array of shape key values, size is (Key->elemsize * KeyBlock->totelem)

        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__data
      • getName

        public CArrayFacade<java.lang.Byte> getName()
                                             throws java.io.IOException
        Get method for struct member 'name'.

        Field Documentation

        Blender Source Code

        MAX_NAME (unique name, user assigned)

        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__name
      • setName

        public void setName​(CArrayFacade<java.lang.Byte> name)
                     throws java.io.IOException
        Set method for struct member 'name'.

        Field Documentation

        Blender Source Code

        MAX_NAME (unique name, user assigned)

        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__name
      • getVgroup

        public CArrayFacade<java.lang.Byte> getVgroup()
                                               throws java.io.IOException
        Get method for struct member 'vgroup'.

        Field Documentation

        Blender Source Code

        MAX_VGROUP_NAME (optional vertex group), array gets allocated into 'weights' when set

        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__vgroup
      • setVgroup

        public void setVgroup​(CArrayFacade<java.lang.Byte> vgroup)
                       throws java.io.IOException
        Set method for struct member 'vgroup'.

        Field Documentation

        Blender Source Code

        MAX_VGROUP_NAME (optional vertex group), array gets allocated into 'weights' when set

        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__vgroup
      • getSlidermin

        public float getSlidermin()
                           throws java.io.IOException
        Get method for struct member 'slidermin'.

        Field Documentation

        Blender Source Code

        ranges, for RNA and UI only to clamp 'curval'

        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__slidermin
      • setSlidermin

        public void setSlidermin​(float slidermin)
                          throws java.io.IOException
        Set method for struct member 'slidermin'.

        Field Documentation

        Blender Source Code

        ranges, for RNA and UI only to clamp 'curval'

        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__slidermin
      • getSlidermax

        public float getSlidermax()
                           throws java.io.IOException
        Get method for struct member 'slidermax'.
        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__slidermax
      • setSlidermax

        public void setSlidermax​(float slidermax)
                          throws java.io.IOException
        Set method for struct member 'slidermax'.
        Throws:
        java.io.IOException
        See Also:
        __DNA__FIELD__slidermax
      • __io__addressof

        public CPointer<KeyBlock> __io__addressof()
        Instantiates a pointer on this instance.