Blender
V2.93
source
blender
editors
transform
transform_data.h
Go to the documentation of this file.
1
/*
2
* This program is free software; you can redistribute it and/or
3
* modify it under the terms of the GNU General Public License
4
* as published by the Free Software Foundation; either version 2
5
* of the License, or (at your option) any later version.
6
*
7
* This program is distributed in the hope that it will be useful,
8
* but WITHOUT ANY WARRANTY; without even the implied warranty of
9
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
* GNU General Public License for more details.
11
*
12
* You should have received a copy of the GNU General Public License
13
* along with this program; if not, write to the Free Software Foundation,
14
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15
*
16
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
17
* All rights reserved.
18
*/
19
24
#pragma once
25
26
struct
Object
;
27
struct
bConstraint
;
28
29
#define TRANSDATABASIC \
30
\
32
void *extra; \
33
\
34
float *loc; \
35
\
36
float iloc[3]; \
37
\
38
float center[3]; \
39
\
40
int flag
41
42
typedef
struct
TransDataBasic
{
43
TRANSDATABASIC
;
44
}
TransDataBasic
;
45
46
typedef
struct
TransDataMirror
{
47
TRANSDATABASIC
;
48
// int pad;
50
float
*
loc_src
;
51
}
TransDataMirror
;
52
53
typedef
struct
TransDataExtension
{
55
float
drot
[3];
56
#if 0
/* TODO: not yet implemented */
57
/* Initial object drotAngle */
58
float
drotAngle;
59
/* Initial object drotAxis */
60
float
drotAxis[3];
61
#endif
63
float
dquat
[4];
65
float
dscale
[3];
67
float
*
rot
;
69
float
irot
[3];
71
float
*
quat
;
73
float
iquat
[4];
75
float
*
rotAngle
;
77
float
irotAngle
;
79
float
*
rotAxis
;
81
float
irotAxis
[4];
83
float
*
size
;
85
float
isize
[3];
87
float
obmat
[4][4];
90
float
l_smtx
[3][3];
94
float
r_mtx
[3][3];
96
float
r_smtx
[3][3];
98
int
rotOrder
;
100
float
oloc
[3],
orot
[3],
oquat
[4],
orotAxis
[3],
orotAngle
;
101
}
TransDataExtension
;
102
103
typedef
struct
TransData2D
{
105
float
loc
[3];
107
float
*
loc2d
;
108
110
float
*
h1
, *
h2
;
111
float
ih1
[2],
ih2
[2];
112
}
TransData2D
;
113
118
typedef
struct
TransDataCurveHandleFlags
{
119
uint8_t
ih1
,
ih2
;
120
uint8_t
*
h1
, *
h2
;
121
}
TransDataCurveHandleFlags
;
122
123
typedef
struct
TransData
{
124
TRANSDATABASIC
;
126
float
dist
;
128
float
rdist
;
130
float
factor
;
132
float
*
val
;
134
float
ival
;
136
float
mtx
[3][3];
138
float
smtx
[3][3];
140
float
axismtx
[3][3];
141
struct
Object
*
ob
;
143
struct
bConstraint
*
con
;
145
TransDataExtension
*
ext
;
147
TransDataCurveHandleFlags
*
hdata
;
149
short
protectflag
;
150
}
TransData
;
151
153
enum
{
154
TD_SELECTED
= 1 << 0,
155
TD_USEQUAT
= 1 << 1,
156
TD_NOTCONNECTED
= 1 << 2,
158
TD_SINGLESIZE
= 1 << 3,
160
TD_INDIVIDUAL_SCALE
= 1 << 4,
161
TD_NOCENTER
= 1 << 5,
163
TD_NO_EXT
= 1 << 6,
165
TD_SKIP
= 1 << 7,
168
TD_BEZTRIPLE
= 1 << 8,
170
TD_NO_LOC
= 1 << 9,
172
TD_NOTIMESNAP
= 1 << 10,
175
TD_INTVALUES
= 1 << 11,
177
TD_MIRROR_X
= 1 << 12,
178
TD_MIRROR_Y
= 1 << 13,
179
TD_MIRROR_Z
= 1 << 14,
181
TD_MIRROR_EDGE_X
= 1 << 12,
182
TD_MIRROR_EDGE_Y
= 1 << 13,
183
TD_MIRROR_EDGE_Z
= 1 << 14,
185
TD_MOVEHANDLE1
= 1 << 15,
186
TD_MOVEHANDLE2
= 1 << 16,
189
TD_PBONE_LOCAL_MTX_P
= 1 << 17,
191
TD_PBONE_LOCAL_MTX_C
= 1 << 18,
192
};
193
194
/* Hard min/max for proportional size. */
195
#define T_PROP_SIZE_MIN 1e-6f
196
#define T_PROP_SIZE_MAX 1e12f
uint8_t
unsigned char uint8_t
Definition:
stdint.h:81
Object
Definition:
DNA_object_types.h:239
TransData2D
Definition:
transform_data.h:102
TransData2D::loc2d
float * loc2d
Definition:
transform_data.h:106
TransData2D::ih2
float ih2[2]
Definition:
transform_data.h:110
TransData2D::ih1
float ih1[2]
Definition:
transform_data.h:110
TransData2D::h1
float * h1
Definition:
transform_data.h:109
TransData2D::loc
float loc[3]
Definition:
transform_data.h:104
TransData2D::h2
float * h2
Definition:
transform_data.h:109
TransDataBasic
Definition:
transform_data.h:41
TransDataBasic::TRANSDATABASIC
TRANSDATABASIC
Definition:
transform_data.h:42
TransDataCurveHandleFlags
Definition:
transform_data.h:117
TransDataCurveHandleFlags::ih2
uint8_t ih2
Definition:
transform_data.h:118
TransDataCurveHandleFlags::h2
uint8_t * h2
Definition:
transform_data.h:119
TransDataCurveHandleFlags::ih1
uint8_t ih1
Definition:
transform_data.h:118
TransDataCurveHandleFlags::h1
uint8_t * h1
Definition:
transform_data.h:119
TransDataExtension
Definition:
transform_data.h:52
TransDataExtension::rotAxis
float * rotAxis
Definition:
transform_data.h:78
TransDataExtension::drot
float drot[3]
Definition:
transform_data.h:54
TransDataExtension::size
float * size
Definition:
transform_data.h:82
TransDataExtension::orot
float orot[3]
Definition:
transform_data.h:99
TransDataExtension::orotAngle
float orotAngle
Definition:
transform_data.h:99
TransDataExtension::isize
float isize[3]
Definition:
transform_data.h:84
TransDataExtension::rot
float * rot
Definition:
transform_data.h:66
TransDataExtension::dscale
float dscale[3]
Definition:
transform_data.h:64
TransDataExtension::r_smtx
float r_smtx[3][3]
Definition:
transform_data.h:95
TransDataExtension::irotAngle
float irotAngle
Definition:
transform_data.h:76
TransDataExtension::l_smtx
float l_smtx[3][3]
Definition:
transform_data.h:89
TransDataExtension::rotOrder
int rotOrder
Definition:
transform_data.h:97
TransDataExtension::r_mtx
float r_mtx[3][3]
Definition:
transform_data.h:93
TransDataExtension::quat
float * quat
Definition:
transform_data.h:70
TransDataExtension::dquat
float dquat[4]
Definition:
transform_data.h:62
TransDataExtension::iquat
float iquat[4]
Definition:
transform_data.h:72
TransDataExtension::irot
float irot[3]
Definition:
transform_data.h:68
TransDataExtension::oquat
float oquat[4]
Definition:
transform_data.h:99
TransDataExtension::oloc
float oloc[3]
Definition:
transform_data.h:99
TransDataExtension::irotAxis
float irotAxis[4]
Definition:
transform_data.h:80
TransDataExtension::rotAngle
float * rotAngle
Definition:
transform_data.h:74
TransDataExtension::orotAxis
float orotAxis[3]
Definition:
transform_data.h:99
TransDataExtension::obmat
float obmat[4][4]
Definition:
transform_data.h:86
TransDataMirror
Definition:
transform_data.h:45
TransDataMirror::loc_src
float * loc_src
Definition:
transform_data.h:49
TransDataMirror::TRANSDATABASIC
TRANSDATABASIC
Definition:
transform_data.h:46
TransData
Definition:
transform_data.h:122
TransData::hdata
TransDataCurveHandleFlags * hdata
Definition:
transform_data.h:146
TransData::smtx
float smtx[3][3]
Definition:
transform_data.h:137
TransData::dist
float dist
Definition:
transform_data.h:125
TransData::TRANSDATABASIC
TRANSDATABASIC
Definition:
transform_data.h:123
TransData::protectflag
short protectflag
Definition:
transform_data.h:148
TransData::ival
float ival
Definition:
transform_data.h:133
TransData::factor
float factor
Definition:
transform_data.h:129
TransData::con
struct bConstraint * con
Definition:
transform_data.h:142
TransData::axismtx
float axismtx[3][3]
Definition:
transform_data.h:139
TransData::mtx
float mtx[3][3]
Definition:
transform_data.h:135
TransData::ext
TransDataExtension * ext
Definition:
transform_data.h:144
TransData::rdist
float rdist
Definition:
transform_data.h:127
TransData::val
float * val
Definition:
transform_data.h:131
TransData::ob
struct Object * ob
Definition:
transform_data.h:140
bConstraint
Definition:
DNA_constraint_types.h:49
TransData2D
struct TransData2D TransData2D
TransData
struct TransData TransData
TransDataCurveHandleFlags
struct TransDataCurveHandleFlags TransDataCurveHandleFlags
TransDataMirror
struct TransDataMirror TransDataMirror
TD_MIRROR_EDGE_Y
@ TD_MIRROR_EDGE_Y
Definition:
transform_data.h:181
TD_USEQUAT
@ TD_USEQUAT
Definition:
transform_data.h:154
TD_MIRROR_Z
@ TD_MIRROR_Z
Definition:
transform_data.h:178
TD_INDIVIDUAL_SCALE
@ TD_INDIVIDUAL_SCALE
Definition:
transform_data.h:159
TD_SINGLESIZE
@ TD_SINGLESIZE
Definition:
transform_data.h:157
TD_MIRROR_EDGE_Z
@ TD_MIRROR_EDGE_Z
Definition:
transform_data.h:182
TD_PBONE_LOCAL_MTX_P
@ TD_PBONE_LOCAL_MTX_P
Definition:
transform_data.h:188
TD_BEZTRIPLE
@ TD_BEZTRIPLE
Definition:
transform_data.h:167
TD_PBONE_LOCAL_MTX_C
@ TD_PBONE_LOCAL_MTX_C
Definition:
transform_data.h:190
TD_MIRROR_X
@ TD_MIRROR_X
Definition:
transform_data.h:176
TD_NOTCONNECTED
@ TD_NOTCONNECTED
Definition:
transform_data.h:155
TD_MOVEHANDLE1
@ TD_MOVEHANDLE1
Definition:
transform_data.h:184
TD_INTVALUES
@ TD_INTVALUES
Definition:
transform_data.h:174
TD_MIRROR_Y
@ TD_MIRROR_Y
Definition:
transform_data.h:177
TD_MIRROR_EDGE_X
@ TD_MIRROR_EDGE_X
Definition:
transform_data.h:180
TD_NO_EXT
@ TD_NO_EXT
Definition:
transform_data.h:162
TD_SELECTED
@ TD_SELECTED
Definition:
transform_data.h:153
TD_SKIP
@ TD_SKIP
Definition:
transform_data.h:164
TD_NO_LOC
@ TD_NO_LOC
Definition:
transform_data.h:169
TD_NOTIMESNAP
@ TD_NOTIMESNAP
Definition:
transform_data.h:171
TD_NOCENTER
@ TD_NOCENTER
Definition:
transform_data.h:160
TD_MOVEHANDLE2
@ TD_MOVEHANDLE2
Definition:
transform_data.h:185
TransDataBasic
struct TransDataBasic TransDataBasic
TransDataExtension
struct TransDataExtension TransDataExtension
Generated on Tue Jan 31 2023 14:37:24 for Blender by
doxygen
1.9.1