Blender
V4.3
source
blender
editors
transform
transform_data.hh
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
9
#pragma once
10
11
struct
Object
;
12
struct
bConstraint
;
13
14
#define TRANSDATABASIC \
15
16
\
17
void *extra; \
18
\
19
float *loc; \
20
\
21
float iloc[3]; \
22
\
23
float center[3]; \
24
\
25
float *val; \
26
\
27
float ival; \
28
\
29
int flag
30
31
struct
TransDataBasic
{
32
TRANSDATABASIC
;
33
};
34
35
struct
TransDataMirror
{
36
TRANSDATABASIC
;
37
// int pad;
39
float
*
loc_src
;
40
};
41
42
struct
TransDataExtension
{
44
float
drot
[3];
45
#if 0
/* TODO: not yet implemented. */
46
/* Initial object `drotAngle`. */
47
float
drotAngle;
48
/* Initial object `drotAxis`. */
49
float
drotAxis[3];
50
#endif
52
float
dquat
[4];
54
float
dscale
[3];
56
float
*
rot
;
58
float
irot
[3];
60
float
*
quat
;
62
float
iquat
[4];
64
float
*
rotAngle
;
66
float
irotAngle
;
68
float
*
rotAxis
;
70
float
irotAxis
[4];
72
float
*
size
;
74
float
isize
[3];
76
float
obmat
[4][4];
78
float
axismtx_gimbal
[3][3];
81
float
l_smtx
[3][3];
87
float
r_mtx
[3][3];
89
float
r_smtx
[3][3];
91
int
rotOrder
;
93
float
oloc
[3],
orot
[3],
oquat
[4],
orotAxis
[3],
orotAngle
;
94
};
95
96
struct
TransData2D
{
98
float
loc
[3];
99
union
{
101
float
*
loc2d
;
102
int
*
loc2d_i
;
103
};
105
float
*
h1
, *
h2
;
106
float
ih1
[2],
ih2
[2];
107
};
108
113
struct
TransDataCurveHandleFlags
{
114
uint8_t
ih1
,
ih2
;
115
uint8_t
*
h1
, *
h2
;
116
};
117
118
struct
TransData
{
119
TRANSDATABASIC
;
121
float
dist
;
123
float
rdist
;
125
float
factor
;
127
float
mtx
[3][3];
129
float
smtx
[3][3];
131
float
axismtx
[3][3];
132
Object
*
ob
;
134
bConstraint
*
con
;
136
TransDataExtension
*
ext
;
138
TransDataCurveHandleFlags
*
hdata
;
140
short
protectflag
;
141
};
142
143
#define TRANSDATA_THREAD_LIMIT 1024
144
146
enum
{
147
TD_SELECTED
= 1 << 0,
148
TD_USEQUAT
= 1 << 1,
149
/* TD_NOTCONNECTED = 1 << 2, */
151
TD_SINGLESIZE
= 1 << 3,
153
TD_INDIVIDUAL_SCALE
= 1 << 4,
154
TD_NOCENTER
= 1 << 5,
156
TD_NO_EXT
= 1 << 6,
158
TD_SKIP
= 1 << 7,
163
TD_BEZTRIPLE
= 1 << 8,
165
TD_NO_LOC
= 1 << 9,
167
TD_NOTIMESNAP
= 1 << 10,
172
TD_INTVALUES
= 1 << 11,
174
TD_MIRROR_X
= 1 << 12,
175
TD_MIRROR_Y
= 1 << 13,
176
TD_MIRROR_Z
= 1 << 14,
177
#define TD_MIRROR_EDGE_AXIS_SHIFT 12
179
TD_MIRROR_EDGE_X
= 1 << 12,
180
TD_MIRROR_EDGE_Y
= 1 << 13,
181
TD_MIRROR_EDGE_Z
= 1 << 14,
183
TD_MOVEHANDLE1
= 1 << 15,
184
TD_MOVEHANDLE2
= 1 << 16,
189
TD_PBONE_LOCAL_MTX_P
= 1 << 17,
191
TD_PBONE_LOCAL_MTX_C
= 1 << 18,
192
/* Grease pencil layer frames. */
193
TD_GREASE_PENCIL_FRAME
= 1 << 19,
194
};
195
196
/* Hard min/max for proportional size. */
197
#define T_PROP_SIZE_MIN 1e-6f
198
#define T_PROP_SIZE_MAX 1e12f
uint8_t
unsigned char uint8_t
Definition
stdint.h:78
Object
Definition
DNA_object_types.h:193
TransData2D
Definition
transform_data.hh:95
TransData2D::loc2d
float * loc2d
Definition
transform_data.hh:100
TransData2D::ih2
float ih2[2]
Definition
transform_data.hh:105
TransData2D::ih1
float ih1[2]
Definition
transform_data.hh:105
TransData2D::h1
float * h1
Definition
transform_data.hh:104
TransData2D::loc
float loc[3]
Definition
transform_data.hh:97
TransData2D::h2
float * h2
Definition
transform_data.hh:104
TransData2D::loc2d_i
int * loc2d_i
Definition
transform_data.hh:101
TransDataBasic
Definition
transform_data.hh:30
TransDataBasic::TRANSDATABASIC
TRANSDATABASIC
Definition
transform_data.hh:31
TransDataCurveHandleFlags
Definition
transform_data.hh:112
TransDataCurveHandleFlags::ih2
uint8_t ih2
Definition
transform_data.hh:113
TransDataCurveHandleFlags::h2
uint8_t * h2
Definition
transform_data.hh:114
TransDataCurveHandleFlags::ih1
uint8_t ih1
Definition
transform_data.hh:113
TransDataCurveHandleFlags::h1
uint8_t * h1
Definition
transform_data.hh:114
TransDataExtension
Definition
transform_data.hh:41
TransDataExtension::rotAxis
float * rotAxis
Definition
transform_data.hh:67
TransDataExtension::drot
float drot[3]
Definition
transform_data.hh:43
TransDataExtension::size
float * size
Definition
transform_data.hh:71
TransDataExtension::orot
float orot[3]
Definition
transform_data.hh:92
TransDataExtension::orotAngle
float orotAngle
Definition
transform_data.hh:92
TransDataExtension::isize
float isize[3]
Definition
transform_data.hh:73
TransDataExtension::rot
float * rot
Definition
transform_data.hh:55
TransDataExtension::dscale
float dscale[3]
Definition
transform_data.hh:53
TransDataExtension::r_smtx
float r_smtx[3][3]
Definition
transform_data.hh:88
TransDataExtension::irotAngle
float irotAngle
Definition
transform_data.hh:65
TransDataExtension::l_smtx
float l_smtx[3][3]
Definition
transform_data.hh:80
TransDataExtension::rotOrder
int rotOrder
Definition
transform_data.hh:90
TransDataExtension::r_mtx
float r_mtx[3][3]
Definition
transform_data.hh:86
TransDataExtension::quat
float * quat
Definition
transform_data.hh:59
TransDataExtension::dquat
float dquat[4]
Definition
transform_data.hh:51
TransDataExtension::iquat
float iquat[4]
Definition
transform_data.hh:61
TransDataExtension::irot
float irot[3]
Definition
transform_data.hh:57
TransDataExtension::oquat
float oquat[4]
Definition
transform_data.hh:92
TransDataExtension::oloc
float oloc[3]
Definition
transform_data.hh:92
TransDataExtension::axismtx_gimbal
float axismtx_gimbal[3][3]
Definition
transform_data.hh:77
TransDataExtension::irotAxis
float irotAxis[4]
Definition
transform_data.hh:69
TransDataExtension::rotAngle
float * rotAngle
Definition
transform_data.hh:63
TransDataExtension::orotAxis
float orotAxis[3]
Definition
transform_data.hh:92
TransDataExtension::obmat
float obmat[4][4]
Definition
transform_data.hh:75
TransDataMirror
Definition
transform_data.hh:34
TransDataMirror::loc_src
float * loc_src
Definition
transform_data.hh:38
TransDataMirror::TRANSDATABASIC
TRANSDATABASIC
Definition
transform_data.hh:35
TransData
Definition
transform_data.hh:117
TransData::hdata
TransDataCurveHandleFlags * hdata
Definition
transform_data.hh:137
TransData::smtx
float smtx[3][3]
Definition
transform_data.hh:128
TransData::dist
float dist
Definition
transform_data.hh:120
TransData::TRANSDATABASIC
TRANSDATABASIC
Definition
transform_data.hh:118
TransData::protectflag
short protectflag
Definition
transform_data.hh:139
TransData::factor
float factor
Definition
transform_data.hh:124
TransData::axismtx
float axismtx[3][3]
Definition
transform_data.hh:130
TransData::ob
Object * ob
Definition
transform_data.hh:131
TransData::mtx
float mtx[3][3]
Definition
transform_data.hh:126
TransData::ext
TransDataExtension * ext
Definition
transform_data.hh:135
TransData::rdist
float rdist
Definition
transform_data.hh:122
TransData::con
bConstraint * con
Definition
transform_data.hh:133
bConstraint
Definition
DNA_constraint_types.h:29
TD_MIRROR_EDGE_Y
@ TD_MIRROR_EDGE_Y
Definition
transform_data.hh:179
TD_USEQUAT
@ TD_USEQUAT
Definition
transform_data.hh:147
TD_MIRROR_Z
@ TD_MIRROR_Z
Definition
transform_data.hh:175
TD_INDIVIDUAL_SCALE
@ TD_INDIVIDUAL_SCALE
Definition
transform_data.hh:152
TD_SINGLESIZE
@ TD_SINGLESIZE
Definition
transform_data.hh:150
TD_MIRROR_EDGE_Z
@ TD_MIRROR_EDGE_Z
Definition
transform_data.hh:180
TD_PBONE_LOCAL_MTX_P
@ TD_PBONE_LOCAL_MTX_P
Definition
transform_data.hh:188
TD_BEZTRIPLE
@ TD_BEZTRIPLE
Definition
transform_data.hh:162
TD_PBONE_LOCAL_MTX_C
@ TD_PBONE_LOCAL_MTX_C
Definition
transform_data.hh:190
TD_MIRROR_X
@ TD_MIRROR_X
Definition
transform_data.hh:173
TD_MOVEHANDLE1
@ TD_MOVEHANDLE1
Definition
transform_data.hh:182
TD_GREASE_PENCIL_FRAME
@ TD_GREASE_PENCIL_FRAME
Definition
transform_data.hh:192
TD_INTVALUES
@ TD_INTVALUES
Definition
transform_data.hh:171
TD_MIRROR_Y
@ TD_MIRROR_Y
Definition
transform_data.hh:174
TD_MIRROR_EDGE_X
@ TD_MIRROR_EDGE_X
Definition
transform_data.hh:178
TD_NO_EXT
@ TD_NO_EXT
Definition
transform_data.hh:155
TD_SELECTED
@ TD_SELECTED
Definition
transform_data.hh:146
TD_SKIP
@ TD_SKIP
Definition
transform_data.hh:157
TD_NO_LOC
@ TD_NO_LOC
Definition
transform_data.hh:164
TD_NOTIMESNAP
@ TD_NOTIMESNAP
Definition
transform_data.hh:166
TD_NOCENTER
@ TD_NOCENTER
Definition
transform_data.hh:153
TD_MOVEHANDLE2
@ TD_MOVEHANDLE2
Definition
transform_data.hh:183
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0