Blender
V4.3
source
blender
makesdna
DNA_key_types.h
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2001-2002 NaN Holding BV. All rights reserved.
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
#pragma once
5
14
#include "
DNA_ID.h
"
15
#include "
DNA_defs.h
"
16
#include "
DNA_listBase.h
"
17
18
struct
AnimData
;
19
struct
Ipo
;
20
21
typedef
struct
KeyBlock
{
22
struct
KeyBlock
*
next
, *
prev
;
23
29
float
pos
;
31
float
curval
;
32
34
short
type
;
35
char
_pad1
[2];
36
38
short
relative
;
39
short
flag
;
40
42
int
totelem
;
44
int
uid
;
45
47
void
*
data
;
49
char
name[64];
51
char
vgroup
[64];
52
54
float
slidermin
;
55
float
slidermax
;
56
57
}
KeyBlock
;
58
59
typedef
struct
Key
{
60
ID
id
;
62
struct
AnimData
*
adt
;
63
69
KeyBlock
*
refkey
;
70
75
char
elemstr
[32];
77
int
elemsize
;
78
char
_pad
[4];
79
81
ListBase
block
;
83
struct
Ipo
*ipo
DNA_DEPRECATED
;
84
85
ID
*
from
;
86
88
int
totkey
;
89
short
flag
;
91
char
type
;
92
char
_pad2
;
93
96
float
ctime
;
97
102
int
uidgen
;
103
}
Key
;
104
105
/* **************** KEY ********************* */
106
107
/* Key->type: KeyBlocks are interpreted as... */
108
enum
{
109
/* Sequential positions over time (using KeyBlock->pos and Key->ctime) */
110
KEY_NORMAL
= 0,
111
112
/* States to blend between (default) */
113
KEY_RELATIVE
= 1,
114
};
115
116
/* Key->flag */
117
enum
{
118
KEY_DS_EXPAND
= 1,
119
};
120
121
/* KeyBlock->type */
122
enum
{
123
KEY_LINEAR
= 0,
124
KEY_CARDINAL
= 1,
125
KEY_BSPLINE
= 2,
126
KEY_CATMULL_ROM
= 3,
127
};
128
129
/* KeyBlock->flag */
130
enum
{
131
KEYBLOCK_MUTE
= (1 << 0),
132
KEYBLOCK_SEL
= (1 << 1),
133
KEYBLOCK_LOCKED
= (1 << 2),
134
KEYBLOCK_LOCKED_SHAPE
= (1 << 3),
135
};
136
137
#define KEYELEM_FLOAT_LEN_COORD 3
138
139
/* Curve key data layout constants */
140
#define KEYELEM_ELEM_SIZE_CURVE 3
141
142
#define KEYELEM_ELEM_LEN_BPOINT 2
143
#define KEYELEM_FLOAT_LEN_BPOINT (KEYELEM_ELEM_LEN_BPOINT * KEYELEM_ELEM_SIZE_CURVE)
144
145
#define KEYELEM_ELEM_LEN_BEZTRIPLE 4
146
#define KEYELEM_FLOAT_LEN_BEZTRIPLE (KEYELEM_ELEM_LEN_BEZTRIPLE * KEYELEM_ELEM_SIZE_CURVE)
DNA_ID.h
ID and Library types, which are fundamental for SDNA.
DNA_defs.h
KEY_RELATIVE
@ KEY_RELATIVE
Definition
DNA_key_types.h:113
KEY_NORMAL
@ KEY_NORMAL
Definition
DNA_key_types.h:110
KeyBlock
struct KeyBlock KeyBlock
KEYBLOCK_LOCKED_SHAPE
@ KEYBLOCK_LOCKED_SHAPE
Definition
DNA_key_types.h:134
KEYBLOCK_SEL
@ KEYBLOCK_SEL
Definition
DNA_key_types.h:132
KEYBLOCK_MUTE
@ KEYBLOCK_MUTE
Definition
DNA_key_types.h:131
KEYBLOCK_LOCKED
@ KEYBLOCK_LOCKED
Definition
DNA_key_types.h:133
KEY_LINEAR
@ KEY_LINEAR
Definition
DNA_key_types.h:123
KEY_CARDINAL
@ KEY_CARDINAL
Definition
DNA_key_types.h:124
KEY_BSPLINE
@ KEY_BSPLINE
Definition
DNA_key_types.h:125
KEY_CATMULL_ROM
@ KEY_CATMULL_ROM
Definition
DNA_key_types.h:126
Key
struct Key Key
KEY_DS_EXPAND
@ KEY_DS_EXPAND
Definition
DNA_key_types.h:118
DNA_listBase.h
These structs are the foundation for all linked lists in the library system.
AnimData
Definition
DNA_anim_types.h:1138
ID
Definition
DNA_ID.h:413
Ipo
Definition
DNA_ipo_types.h:85
KeyBlock
Definition
DNA_key_types.h:21
KeyBlock::uid
int uid
Definition
DNA_key_types.h:44
KeyBlock::prev
struct KeyBlock * prev
Definition
DNA_key_types.h:22
KeyBlock::flag
short flag
Definition
DNA_key_types.h:39
KeyBlock::totelem
int totelem
Definition
DNA_key_types.h:42
KeyBlock::pos
float pos
Definition
DNA_key_types.h:29
KeyBlock::slidermax
float slidermax
Definition
DNA_key_types.h:55
KeyBlock::slidermin
float slidermin
Definition
DNA_key_types.h:54
KeyBlock::curval
float curval
Definition
DNA_key_types.h:31
KeyBlock::next
struct KeyBlock * next
Definition
DNA_key_types.h:22
KeyBlock::vgroup
char vgroup[64]
Definition
DNA_key_types.h:51
KeyBlock::relative
short relative
Definition
DNA_key_types.h:38
KeyBlock::type
short type
Definition
DNA_key_types.h:34
KeyBlock::_pad1
char _pad1[2]
Definition
DNA_key_types.h:35
KeyBlock::data
void * data
Definition
DNA_key_types.h:47
Key
Definition
DNA_key_types.h:59
Key::from
ID * from
Definition
DNA_key_types.h:85
Key::totkey
int totkey
Definition
DNA_key_types.h:88
Key::ctime
float ctime
Definition
DNA_key_types.h:96
Key::_pad2
char _pad2
Definition
DNA_key_types.h:92
Key::DNA_DEPRECATED
struct Ipo *ipo DNA_DEPRECATED
Definition
DNA_key_types.h:83
Key::flag
short flag
Definition
DNA_key_types.h:89
Key::elemstr
char elemstr[32]
Definition
DNA_key_types.h:75
Key::id
ID id
Definition
DNA_key_types.h:60
Key::uidgen
int uidgen
Definition
DNA_key_types.h:102
Key::elemsize
int elemsize
Definition
DNA_key_types.h:77
Key::adt
struct AnimData * adt
Definition
DNA_key_types.h:62
Key::type
char type
Definition
DNA_key_types.h:91
Key::block
ListBase block
Definition
DNA_key_types.h:81
Key::refkey
KeyBlock * refkey
Definition
DNA_key_types.h:69
Key::_pad
char _pad[4]
Definition
DNA_key_types.h:78
ListBase
Definition
DNA_listBase.h:32
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0