Blender
V3.3
source
blender
makesdna
DNA_key_types.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-or-later
2
* Copyright 2001-2002 NaN Holding BV. All rights reserved. */
3
#pragma once
4
13
#include "
DNA_ID.h
"
14
#include "
DNA_defs.h
"
15
#include "
DNA_listBase.h
"
16
17
#ifdef __cplusplus
18
extern
"C"
{
19
#endif
20
21
struct
AnimData
;
22
struct
Ipo
;
23
24
typedef
struct
KeyBlock
{
25
struct
KeyBlock
*
next
, *
prev
;
26
32
float
pos
;
34
float
curval
;
35
37
short
type
;
38
char
_pad1
[2];
39
41
short
relative
;
42
short
flag
;
43
45
int
totelem
;
47
int
uid
;
48
50
void
*
data
;
52
char
name
[64];
54
char
vgroup
[64];
55
57
float
slidermin
;
58
float
slidermax
;
59
60
}
KeyBlock
;
61
62
typedef
struct
Key
{
63
ID
id
;
65
struct
AnimData
*
adt
;
66
72
KeyBlock
*
refkey
;
73
78
char
elemstr
[32];
80
int
elemsize
;
81
char
_pad
[4];
82
84
ListBase
block
;
86
struct
Ipo
*ipo
DNA_DEPRECATED
;
87
88
ID
*
from
;
89
91
int
totkey
;
92
short
flag
;
94
char
type
;
95
char
_pad2
;
96
99
float
ctime
;
100
105
int
uidgen
;
106
}
Key
;
107
108
/* **************** KEY ********************* */
109
110
/* Key->type: KeyBlocks are interpreted as... */
111
enum
{
112
/* Sequential positions over time (using KeyBlock->pos and Key->ctime) */
113
KEY_NORMAL
= 0,
114
115
/* States to blend between (default) */
116
KEY_RELATIVE
= 1,
117
};
118
119
/* Key->flag */
120
enum
{
121
KEY_DS_EXPAND
= 1,
122
};
123
124
/* KeyBlock->type */
125
enum
{
126
KEY_LINEAR
= 0,
127
KEY_CARDINAL
= 1,
128
KEY_BSPLINE
= 2,
129
KEY_CATMULL_ROM
= 3,
130
};
131
132
/* KeyBlock->flag */
133
enum
{
134
KEYBLOCK_MUTE
= (1 << 0),
135
KEYBLOCK_SEL
= (1 << 1),
136
KEYBLOCK_LOCKED
= (1 << 2),
137
};
138
139
#define KEYELEM_FLOAT_LEN_COORD 3
140
141
/* Curve key data layout constants */
142
#define KEYELEM_ELEM_SIZE_CURVE 3
143
144
#define KEYELEM_ELEM_LEN_BPOINT 2
145
#define KEYELEM_FLOAT_LEN_BPOINT (KEYELEM_ELEM_LEN_BPOINT * KEYELEM_ELEM_SIZE_CURVE)
146
147
#define KEYELEM_ELEM_LEN_BEZTRIPLE 4
148
#define KEYELEM_FLOAT_LEN_BEZTRIPLE (KEYELEM_ELEM_LEN_BEZTRIPLE * KEYELEM_ELEM_SIZE_CURVE)
149
150
#ifdef __cplusplus
151
}
152
#endif
DNA_ID.h
ID and Library types, which are fundamental for sdna.
DNA_defs.h
KEY_DS_EXPAND
@ KEY_DS_EXPAND
Definition:
DNA_key_types.h:121
KeyBlock
struct KeyBlock KeyBlock
KEYBLOCK_SEL
@ KEYBLOCK_SEL
Definition:
DNA_key_types.h:135
KEYBLOCK_MUTE
@ KEYBLOCK_MUTE
Definition:
DNA_key_types.h:134
KEYBLOCK_LOCKED
@ KEYBLOCK_LOCKED
Definition:
DNA_key_types.h:136
KEY_LINEAR
@ KEY_LINEAR
Definition:
DNA_key_types.h:126
KEY_CARDINAL
@ KEY_CARDINAL
Definition:
DNA_key_types.h:127
KEY_BSPLINE
@ KEY_BSPLINE
Definition:
DNA_key_types.h:128
KEY_CATMULL_ROM
@ KEY_CATMULL_ROM
Definition:
DNA_key_types.h:129
Key
struct Key Key
KEY_RELATIVE
@ KEY_RELATIVE
Definition:
DNA_key_types.h:116
KEY_NORMAL
@ KEY_NORMAL
Definition:
DNA_key_types.h:113
DNA_listBase.h
These structs are the foundation for all linked lists in the library system.
AnimData
Definition:
DNA_anim_types.h:1068
ID
Definition:
DNA_ID.h:368
Ipo
Definition:
DNA_ipo_types.h:84
KeyBlock
Definition:
DNA_key_types.h:24
KeyBlock::uid
int uid
Definition:
DNA_key_types.h:47
KeyBlock::prev
struct KeyBlock * prev
Definition:
DNA_key_types.h:25
KeyBlock::flag
short flag
Definition:
DNA_key_types.h:42
KeyBlock::name
char name[64]
Definition:
DNA_key_types.h:52
KeyBlock::totelem
int totelem
Definition:
DNA_key_types.h:45
KeyBlock::pos
float pos
Definition:
DNA_key_types.h:32
KeyBlock::slidermax
float slidermax
Definition:
DNA_key_types.h:58
KeyBlock::slidermin
float slidermin
Definition:
DNA_key_types.h:57
KeyBlock::curval
float curval
Definition:
DNA_key_types.h:34
KeyBlock::next
struct KeyBlock * next
Definition:
DNA_key_types.h:25
KeyBlock::vgroup
char vgroup[64]
Definition:
DNA_key_types.h:54
KeyBlock::relative
short relative
Definition:
DNA_key_types.h:41
KeyBlock::type
short type
Definition:
DNA_key_types.h:37
KeyBlock::_pad1
char _pad1[2]
Definition:
DNA_key_types.h:38
KeyBlock::data
void * data
Definition:
DNA_key_types.h:50
Key
Definition:
DNA_key_types.h:62
Key::from
ID * from
Definition:
DNA_key_types.h:88
Key::totkey
int totkey
Definition:
DNA_key_types.h:91
Key::ctime
float ctime
Definition:
DNA_key_types.h:99
Key::_pad2
char _pad2
Definition:
DNA_key_types.h:95
Key::DNA_DEPRECATED
struct Ipo *ipo DNA_DEPRECATED
Definition:
DNA_key_types.h:86
Key::flag
short flag
Definition:
DNA_key_types.h:92
Key::elemstr
char elemstr[32]
Definition:
DNA_key_types.h:78
Key::id
ID id
Definition:
DNA_key_types.h:63
Key::uidgen
int uidgen
Definition:
DNA_key_types.h:105
Key::elemsize
int elemsize
Definition:
DNA_key_types.h:80
Key::adt
struct AnimData * adt
Definition:
DNA_key_types.h:65
Key::type
char type
Definition:
DNA_key_types.h:94
Key::block
ListBase block
Definition:
DNA_key_types.h:84
Key::refkey
KeyBlock * refkey
Definition:
DNA_key_types.h:72
Key::_pad
char _pad[4]
Definition:
DNA_key_types.h:81
ListBase
Definition:
DNA_listBase.h:30
Generated on Sat Jul 27 2024 14:57:55 for Blender by
doxygen
1.9.1