Blender
V5.0
source
blender
editors
transform
transform_mode.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
10
#pragma once
11
12
#include "
ED_transform.hh
"
13
14
#include "
transform.hh
"
15
16
struct
BMVert
;
17
struct
LinkNode
;
18
struct
TransData;
19
struct
TransDataContainer;
20
struct
TransInfo;
21
struct
bContext
;
22
struct
wmOperator
;
23
struct
wmEvent
;
24
25
namespace
blender::ed::transform
{
26
27
struct
TransModeInfo
{
28
int
flags
;
/* #eTFlag. */
29
30
void (*
init_fn
)(
TransInfo
*,
wmOperator
*);
31
33
void (*
transform_fn
)(
TransInfo
*);
34
40
void (*
transform_matrix_fn
)(
TransInfo
*,
float
[4][4]);
41
42
/* Event handler function that determines whether the viewport needs to be redrawn. */
43
enum
eRedrawFlag
(*
handle_event_fn
)(
TransInfo
*,
const
wmEvent
*);
44
51
float
(*
snap_distance_fn
)(
TransInfo
*t,
const
float
p1[3],
const
float
p2[3]);
52
void (*
snap_apply_fn
)(
TransInfo
*,
float
*);
53
55
void (*
draw_fn
)(
TransInfo
*);
56
};
57
58
/* Header of #TransDataEdgeSlideVert, #TransDataEdgeSlideEdge. */
59
struct
TransDataGenericSlideVert
{
60
BMVert
*
v
;
61
LinkNode
**
cd_loop_groups
;
62
float
co_orig_3d
[3];
63
};
64
65
/* `transform_mode.cc` */
66
67
eTfmMode
transform_mode_really_used
(
bContext
*
C
,
eTfmMode
mode);
68
bool
transdata_check_local_center
(
const
TransInfo
*t,
short
around);
72
bool
transform_mode_is_changeable
(
int
mode);
73
bool
transform_mode_affect_only_locations
(
const
TransInfo
*t);
74
void
protectedTransBits
(
short
protectflag,
float
vec[3]);
75
void
protectedScaleBits
(
short
protectflag,
float
scale[3]);
76
void
constraintTransLim
(
const
TransInfo
*t,
const
TransDataContainer
*tc,
TransData
*td);
77
void
constraintScaleLim
(
const
TransInfo
*t,
const
TransDataContainer
*tc,
int
td_index);
81
void
headerRotation
(
TransInfo
*t,
char
*
str
,
int
str_size,
float
final
);
88
void
ElementRotation_ex
(
const
TransInfo
*t,
89
const
TransDataContainer
*tc,
90
TransData
*td,
91
TransDataExtension
*td_ext,
92
const
float
mat[3][3],
93
const
float
*center);
94
void
ElementRotation
(
const
TransInfo
*t,
95
const
TransDataContainer
*tc,
96
TransData
*td,
97
TransDataExtension
*td_ext,
98
const
float
mat[3][3],
99
short
around);
100
void
headerResize
(
TransInfo
*t,
const
float
vec[3],
char
*
str
,
int
str_size);
101
void
ElementResize
(
const
TransInfo
*t,
102
const
TransDataContainer
*tc,
103
int
td_index,
104
const
float
mat[3][3]);
105
void
transform_mode_init
(
TransInfo
*t,
wmOperator
*op,
int
mode);
109
void
transform_mode_default_modal_orientation_set
(
TransInfo
*t,
int
type);
110
111
void
transform_mode_rotation_axis_get
(
const
TransInfo
*t,
float3
&r_axis);
112
bool
transform_mode_is_axis_pointing_to_screen
(
const
TransInfo
*t,
const
float3
&axis);
113
114
/* `transform_mode_align.cc` */
115
116
extern
TransModeInfo
TransMode_align
;
117
118
/* `transform_mode_baketime.cc` */
119
120
extern
TransModeInfo
TransMode_baketime
;
121
122
/* `transform_mode_bbone_resize.cc` */
123
124
extern
TransModeInfo
TransMode_bboneresize
;
125
126
/* `transform_mode_bend.cc` */
127
128
extern
TransModeInfo
TransMode_bend
;
129
130
/* `transform_mode_boneenvelope.cc` */
131
132
extern
TransModeInfo
TransMode_boneenvelope
;
133
134
/* `transform_mode_boneroll.cc` */
135
136
extern
TransModeInfo
TransMode_boneroll
;
137
138
/* `transform_mode_curveshrinkfatten.cc` */
139
140
extern
TransModeInfo
TransMode_curveshrinkfatten
;
141
142
/* `transform_mode_customdata.cc` */
143
144
extern
TransModeInfo
TransMode_edgecrease
;
145
extern
TransModeInfo
TransMode_vertcrease
;
146
extern
TransModeInfo
TransMode_bevelweight
;
147
148
/* `transform_mode_edge_rotate_normal.cc` */
149
150
extern
TransModeInfo
TransMode_rotatenormal
;
151
152
/* `transform_mode_edge_seq_slide.cc` */
153
154
extern
TransModeInfo
TransMode_seqslide
;
155
bool
transform_mode_edge_seq_slide_use_restore_handle_selection
(
const
TransInfo
*t);
156
157
/* `transform_mode_edge_slide.cc` */
158
159
extern
TransModeInfo
TransMode_edgeslide
;
160
void
transform_mode_edge_slide_reproject_input
(
TransInfo
*t);
161
162
/* `transform_mode_gpopacity.cc` */
163
164
extern
TransModeInfo
TransMode_gpopacity
;
165
166
/* `transform_mode_maskshrinkfatten.cc` */
167
168
extern
TransModeInfo
TransMode_maskshrinkfatten
;
169
170
/* `transform_mode_mirror.cc` */
171
172
extern
TransModeInfo
TransMode_mirror
;
173
174
/* `transform_mode_push_pull.cc` */
175
176
extern
TransModeInfo
TransMode_pushpull
;
177
178
/* `transform_mode_resize.cc` */
179
180
extern
TransModeInfo
TransMode_resize
;
181
182
/* `transform_mode_rotate.cc` */
183
184
extern
TransModeInfo
TransMode_rotate
;
185
186
/* `transform_mode_shear.cc` */
187
188
extern
TransModeInfo
TransMode_shear
;
189
190
/* `transform_mode_shrink_fatten.cc` */
191
192
extern
TransModeInfo
TransMode_shrinkfatten
;
193
194
/* `transform_mode_skin_resize.cc` */
195
196
extern
TransModeInfo
TransMode_skinresize
;
197
198
/* `transform_mode_snapsource.cc` */
199
200
extern
TransModeInfo
TransMode_snapsource
;
201
void
transform_mode_snap_source_init
(
TransInfo
*t,
wmOperator
*op);
202
203
/* `transform_mode_tilt.cc` */
204
205
extern
TransModeInfo
TransMode_tilt
;
206
207
/* `transform_mode_timescale.cc` */
208
209
extern
TransModeInfo
TransMode_timescale
;
210
211
/* `transform_mode_timeslide.cc` */
212
213
extern
TransModeInfo
TransMode_timeslide
;
214
215
/* `transform_mode_timetranslate.cc` */
216
217
extern
TransModeInfo
TransMode_timetranslate
;
218
219
/* `transform_mode_tosphere.cc` */
220
221
extern
TransModeInfo
TransMode_tosphere
;
222
223
/* `transform_mode_trackball.cc` */
224
225
extern
TransModeInfo
TransMode_trackball
;
226
227
/* `transform_mode_translate.cc` */
228
229
extern
TransModeInfo
TransMode_translate
;
230
231
/* `transform_mode_vert_slide.cc` */
232
233
extern
TransModeInfo
TransMode_vertslide
;
234
void
transform_mode_vert_slide_reproject_input
(
TransInfo
*t);
235
236
}
// namespace blender::ed::transform
ED_transform.hh
C
#define C
Definition
RandGen.cpp:29
float
nullptr float
Definition
closures_template.h:123
str
#define str(s)
Definition
ffmpeg_codecs.cc:103
blender::ed::transform
Definition
ED_gizmo_library.hh:19
blender::ed::transform::TransMode_mirror
TransModeInfo TransMode_mirror
Definition
transform_mode_mirror.cc:245
blender::ed::transform::TransMode_shrinkfatten
TransModeInfo TransMode_shrinkfatten
Definition
transform_mode_shrink_fatten.cc:233
blender::ed::transform::TransMode_boneroll
TransModeInfo TransMode_boneroll
Definition
transform_mode_boneroll.cc:96
blender::ed::transform::TransMode_edgecrease
TransModeInfo TransMode_edgecrease
Definition
transform_mode_customdata.cc:147
blender::ed::transform::TransMode_bboneresize
TransModeInfo TransMode_bboneresize
Definition
transform_mode_bbone_resize.cc:177
blender::ed::transform::TransMode_vertcrease
TransModeInfo TransMode_vertcrease
Definition
transform_mode_customdata.cc:158
blender::ed::transform::TransMode_timescale
TransModeInfo TransMode_timescale
Definition
transform_mode_timescale.cc:159
blender::ed::transform::TransMode_boneenvelope
TransModeInfo TransMode_boneenvelope
Definition
transform_mode_boneenvelope.cc:99
blender::ed::transform::transform_mode_is_changeable
bool transform_mode_is_changeable(const int mode)
Definition
transform_mode.cc:72
blender::ed::transform::eTfmMode
eTfmMode
Definition
ED_transform.hh:36
blender::ed::transform::headerRotation
void headerRotation(TransInfo *t, char *str, const int str_size, float final)
Definition
transform_mode.cc:564
blender::ed::transform::TransMode_tilt
TransModeInfo TransMode_tilt
Definition
transform_mode_tilt.cc:105
blender::ed::transform::TransMode_edgeslide
TransModeInfo TransMode_edgeslide
Definition
transform_mode_edge_slide.cc:987
blender::ed::transform::transform_mode_is_axis_pointing_to_screen
bool transform_mode_is_axis_pointing_to_screen(const TransInfo *t, const float3 &axis)
Definition
transform_mode.cc:1280
blender::ed::transform::TransMode_rotate
TransModeInfo TransMode_rotate
Definition
transform_mode_rotate.cc:386
blender::ed::transform::transform_mode_vert_slide_reproject_input
void transform_mode_vert_slide_reproject_input(TransInfo *t)
Definition
transform_mode_vert_slide.cc:663
blender::ed::transform::TransMode_pushpull
TransModeInfo TransMode_pushpull
Definition
transform_mode_push_pull.cc:140
blender::ed::transform::TransMode_baketime
TransModeInfo TransMode_baketime
Definition
transform_mode_baketime.cc:132
blender::ed::transform::TransMode_align
TransModeInfo TransMode_align
Definition
transform_mode_align.cc:78
blender::ed::transform::TransMode_tosphere
TransModeInfo TransMode_tosphere
Definition
transform_mode_tosphere.cc:224
blender::ed::transform::protectedTransBits
void protectedTransBits(short protectflag, float vec[3])
Definition
transform_mode.cc:95
blender::ed::transform::protectedScaleBits
void protectedScaleBits(short protectflag, float scale[3])
Definition
transform_mode.cc:232
blender::ed::transform::transform_mode_edge_seq_slide_use_restore_handle_selection
bool transform_mode_edge_seq_slide_use_restore_handle_selection(const TransInfo *t)
Definition
transform_mode_edge_seq_slide.cc:148
blender::ed::transform::TransMode_gpopacity
TransModeInfo TransMode_gpopacity
Definition
transform_mode_gpopacity.cc:108
blender::ed::transform::TransMode_skinresize
TransModeInfo TransMode_skinresize
Definition
transform_mode_skin_resize.cc:134
blender::ed::transform::headerResize
void headerResize(TransInfo *t, const float vec[3], char *str, const int str_size)
Definition
transform_mode.cc:870
blender::ed::transform::ElementRotation_ex
void ElementRotation_ex(const TransInfo *t, const TransDataContainer *tc, TransData *td, TransDataExtension *td_ext, const float mat[3][3], const float *center)
Definition
transform_mode.cc:591
blender::ed::transform::TransMode_curveshrinkfatten
TransModeInfo TransMode_curveshrinkfatten
Definition
transform_mode_curveshrinkfatten.cc:143
blender::ed::transform::TransMode_bevelweight
TransModeInfo TransMode_bevelweight
Definition
transform_mode_customdata.cc:169
blender::ed::transform::transform_mode_default_modal_orientation_set
void transform_mode_default_modal_orientation_set(TransInfo *t, int type)
Definition
transform_mode.cc:1228
blender::ed::transform::TransMode_vertslide
TransModeInfo TransMode_vertslide
Definition
transform_mode_vert_slide.cc:677
blender::ed::transform::transform_mode_really_used
eTfmMode transform_mode_really_used(bContext *C, eTfmMode mode)
Definition
transform_mode.cc:39
blender::ed::transform::TransMode_timeslide
TransModeInfo TransMode_timeslide
Definition
transform_mode_timeslide.cc:231
blender::ed::transform::TransMode_shear
TransModeInfo TransMode_shear
Definition
transform_mode_shear.cc:358
blender::ed::transform::TransMode_seqslide
TransModeInfo TransMode_seqslide
Definition
transform_mode_edge_seq_slide.cc:159
blender::ed::transform::transform_mode_snap_source_init
void transform_mode_snap_source_init(TransInfo *t, wmOperator *op)
Definition
transform_mode_snapsource.cc:166
blender::ed::transform::TransMode_timetranslate
TransModeInfo TransMode_timetranslate
Definition
transform_mode_timetranslate.cc:153
blender::ed::transform::TransMode_bend
TransModeInfo TransMode_bend
Definition
transform_mode_bend.cc:325
blender::ed::transform::TransMode_snapsource
TransModeInfo TransMode_snapsource
Definition
transform_mode_snapsource.cc:265
blender::ed::transform::constraintScaleLim
void constraintScaleLim(const TransInfo *t, const TransDataContainer *tc, int td_index)
Definition
transform_mode.cc:452
blender::ed::transform::transform_mode_affect_only_locations
bool transform_mode_affect_only_locations(const TransInfo *t)
Definition
transform_mode.cc:84
blender::ed::transform::ElementRotation
void ElementRotation(const TransInfo *t, const TransDataContainer *tc, TransData *td, TransDataExtension *td_ext, const float mat[3][3], const short around)
Definition
transform_mode.cc:844
blender::ed::transform::eRedrawFlag
eRedrawFlag
Definition
transform.hh:249
blender::ed::transform::TransMode_rotatenormal
TransModeInfo TransMode_rotatenormal
Definition
transform_mode_edge_rotate_normal.cc:149
blender::ed::transform::constraintTransLim
void constraintTransLim(const TransInfo *t, const TransDataContainer *tc, TransData *td)
Definition
transform_mode.cc:251
blender::ed::transform::transdata_check_local_center
bool transdata_check_local_center(const TransInfo *t, short around)
Definition
transform_mode.cc:56
blender::ed::transform::transform_mode_init
void transform_mode_init(TransInfo *t, wmOperator *op, const int mode)
Definition
transform_mode.cc:1205
blender::ed::transform::TransMode_trackball
TransModeInfo TransMode_trackball
Definition
transform_mode_trackball.cc:179
blender::ed::transform::TransMode_translate
TransModeInfo TransMode_translate
Definition
transform_mode_translate.cc:639
blender::ed::transform::TransMode_resize
TransModeInfo TransMode_resize
Definition
transform_mode_resize.cc:344
blender::ed::transform::ElementResize
void ElementResize(const TransInfo *t, const TransDataContainer *tc, int td_index, const float mat[3][3])
Definition
transform_mode.cc:965
blender::ed::transform::transform_mode_rotation_axis_get
void transform_mode_rotation_axis_get(const TransInfo *t, float3 &r_axis)
Definition
transform_mode.cc:1270
blender::ed::transform::transform_mode_edge_slide_reproject_input
void transform_mode_edge_slide_reproject_input(TransInfo *t)
Definition
transform_mode_edge_slide.cc:966
blender::ed::transform::TransMode_maskshrinkfatten
TransModeInfo TransMode_maskshrinkfatten
Definition
transform_mode_maskshrinkfatten.cc:130
blender::float3
VecBase< float, 3 > float3
Definition
BLI_math_vector_types.hh:619
BMVert
Definition
bmesh_class.hh:90
LinkNode
Definition
BLI_linklist.h:19
bContext
Definition
blenkernel/intern/context.cc:63
blender::ed::transform::TransDataContainer
Definition
transform.hh:667
blender::ed::transform::TransDataExtension
Definition
transform.hh:419
blender::ed::transform::TransDataGenericSlideVert
Definition
transform_mode.hh:59
blender::ed::transform::TransDataGenericSlideVert::cd_loop_groups
LinkNode ** cd_loop_groups
Definition
transform_mode.hh:61
blender::ed::transform::TransDataGenericSlideVert::v
BMVert * v
Definition
transform_mode.hh:60
blender::ed::transform::TransDataGenericSlideVert::co_orig_3d
float co_orig_3d[3]
Definition
transform_mode.hh:62
blender::ed::transform::TransData
Definition
transform.hh:504
blender::ed::transform::TransInfo
Definition
transform.hh:801
blender::ed::transform::TransModeInfo
Definition
transform_mode.hh:27
blender::ed::transform::TransModeInfo::handle_event_fn
enum eRedrawFlag(* handle_event_fn)(TransInfo *, const wmEvent *)
Definition
transform_mode.hh:43
blender::ed::transform::TransModeInfo::draw_fn
void(* draw_fn)(TransInfo *)
Definition
transform_mode.hh:55
blender::ed::transform::TransModeInfo::transform_matrix_fn
void(* transform_matrix_fn)(TransInfo *, float[4][4])
Definition
transform_mode.hh:40
blender::ed::transform::TransModeInfo::snap_apply_fn
void(* snap_apply_fn)(TransInfo *, float *)
Definition
transform_mode.hh:52
blender::ed::transform::TransModeInfo::flags
int flags
Definition
transform_mode.hh:28
blender::ed::transform::TransModeInfo::snap_distance_fn
float(* snap_distance_fn)(TransInfo *t, const float p1[3], const float p2[3])
Definition
transform_mode.hh:51
blender::ed::transform::TransModeInfo::transform_fn
void(* transform_fn)(TransInfo *)
Definition
transform_mode.hh:33
blender::ed::transform::TransModeInfo::init_fn
void(* init_fn)(TransInfo *, wmOperator *)
Definition
transform_mode.hh:30
wmEvent
Definition
WM_types.hh:753
wmOperator
Definition
DNA_windowmanager_types.h:531
transform.hh
Generated on
for Blender by
doxygen
1.16.1