Blender V5.0
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
16struct BMVert;
17struct LinkNode;
18struct TransData;
19struct TransDataContainer;
20struct TransInfo;
21struct bContext;
22struct wmOperator;
23struct wmEvent;
24
25namespace blender::ed::transform {
26
28 int flags; /* #eTFlag. */
29
31
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. */
64
65/* `transform_mode.cc` */
66
68bool transdata_check_local_center(const TransInfo *t, short around);
72bool transform_mode_is_changeable(int mode);
74void protectedTransBits(short protectflag, float vec[3]);
75void protectedScaleBits(short protectflag, float scale[3]);
76void constraintTransLim(const TransInfo *t, const TransDataContainer *tc, TransData *td);
77void constraintScaleLim(const TransInfo *t, const TransDataContainer *tc, int td_index);
81void headerRotation(TransInfo *t, char *str, int str_size, float final);
88void 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);
94void ElementRotation(const TransInfo *t,
95 const TransDataContainer *tc,
96 TransData *td,
97 TransDataExtension *td_ext,
98 const float mat[3][3],
99 short around);
100void headerResize(TransInfo *t, const float vec[3], char *str, int str_size);
101void ElementResize(const TransInfo *t,
102 const TransDataContainer *tc,
103 int td_index,
104 const float mat[3][3]);
105void transform_mode_init(TransInfo *t, wmOperator *op, int mode);
110
113
114/* `transform_mode_align.cc` */
115
117
118/* `transform_mode_baketime.cc` */
119
121
122/* `transform_mode_bbone_resize.cc` */
123
125
126/* `transform_mode_bend.cc` */
127
129
130/* `transform_mode_boneenvelope.cc` */
131
133
134/* `transform_mode_boneroll.cc` */
135
137
138/* `transform_mode_curveshrinkfatten.cc` */
139
141
142/* `transform_mode_customdata.cc` */
143
147
148/* `transform_mode_edge_rotate_normal.cc` */
149
151
152/* `transform_mode_edge_seq_slide.cc` */
153
156
157/* `transform_mode_edge_slide.cc` */
158
161
162/* `transform_mode_gpopacity.cc` */
163
165
166/* `transform_mode_maskshrinkfatten.cc` */
167
169
170/* `transform_mode_mirror.cc` */
171
173
174/* `transform_mode_push_pull.cc` */
175
177
178/* `transform_mode_resize.cc` */
179
181
182/* `transform_mode_rotate.cc` */
183
185
186/* `transform_mode_shear.cc` */
187
189
190/* `transform_mode_shrink_fatten.cc` */
191
193
194/* `transform_mode_skin_resize.cc` */
195
197
198/* `transform_mode_snapsource.cc` */
199
202
203/* `transform_mode_tilt.cc` */
204
206
207/* `transform_mode_timescale.cc` */
208
210
211/* `transform_mode_timeslide.cc` */
212
214
215/* `transform_mode_timetranslate.cc` */
216
218
219/* `transform_mode_tosphere.cc` */
220
222
223/* `transform_mode_trackball.cc` */
224
226
227/* `transform_mode_translate.cc` */
228
230
231/* `transform_mode_vert_slide.cc` */
232
235
236} // namespace blender::ed::transform
#define C
Definition RandGen.cpp:29
nullptr float
#define str(s)
bool transform_mode_is_changeable(const int mode)
void headerRotation(TransInfo *t, char *str, const int str_size, float final)
bool transform_mode_is_axis_pointing_to_screen(const TransInfo *t, const float3 &axis)
void transform_mode_vert_slide_reproject_input(TransInfo *t)
void protectedTransBits(short protectflag, float vec[3])
void protectedScaleBits(short protectflag, float scale[3])
bool transform_mode_edge_seq_slide_use_restore_handle_selection(const TransInfo *t)
void headerResize(TransInfo *t, const float vec[3], char *str, const int str_size)
void ElementRotation_ex(const TransInfo *t, const TransDataContainer *tc, TransData *td, TransDataExtension *td_ext, const float mat[3][3], const float *center)
void transform_mode_default_modal_orientation_set(TransInfo *t, int type)
eTfmMode transform_mode_really_used(bContext *C, eTfmMode mode)
void transform_mode_snap_source_init(TransInfo *t, wmOperator *op)
void constraintScaleLim(const TransInfo *t, const TransDataContainer *tc, int td_index)
bool transform_mode_affect_only_locations(const TransInfo *t)
void ElementRotation(const TransInfo *t, const TransDataContainer *tc, TransData *td, TransDataExtension *td_ext, const float mat[3][3], const short around)
void constraintTransLim(const TransInfo *t, const TransDataContainer *tc, TransData *td)
bool transdata_check_local_center(const TransInfo *t, short around)
void transform_mode_init(TransInfo *t, wmOperator *op, const int mode)
void ElementResize(const TransInfo *t, const TransDataContainer *tc, int td_index, const float mat[3][3])
void transform_mode_rotation_axis_get(const TransInfo *t, float3 &r_axis)
void transform_mode_edge_slide_reproject_input(TransInfo *t)
VecBase< float, 3 > float3
enum eRedrawFlag(* handle_event_fn)(TransInfo *, const wmEvent *)
void(* transform_matrix_fn)(TransInfo *, float[4][4])
void(* snap_apply_fn)(TransInfo *, float *)
float(* snap_distance_fn)(TransInfo *t, const float p1[3], const float p2[3])
void(* init_fn)(TransInfo *, wmOperator *)