Blender V4.5
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, TransData *td);
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 const float mat[3][3],
92 const float *center);
93void ElementRotation(const TransInfo *t,
94 const TransDataContainer *tc,
95 TransData *td,
96 const float mat[3][3],
97 short around);
98void headerResize(TransInfo *t, const float vec[3], char *str, int str_size);
99void ElementResize(const TransInfo *t,
100 const TransDataContainer *tc,
101 TransData *td,
102 const float mat[3][3]);
103void transform_mode_init(TransInfo *t, wmOperator *op, int mode);
108
109/* `transform_mode_align.cc` */
110
112
113/* `transform_mode_baketime.cc` */
114
116
117/* `transform_mode_bbone_resize.cc` */
118
120
121/* `transform_mode_bend.cc` */
122
124
125/* `transform_mode_boneenvelope.cc` */
126
128
129/* `transform_mode_boneroll.cc` */
130
132
133/* `transform_mode_curveshrinkfatten.cc` */
134
136
137/* `transform_mode_customdata.cc` */
138
142
143/* `transform_mode_edge_rotate_normal.cc` */
144
146
147/* `transform_mode_edge_seq_slide.cc` */
148
151
152/* `transform_mode_edge_slide.cc` */
153
156
157/* `transform_mode_gpopacity.cc` */
158
160
161/* `transform_mode_maskshrinkfatten.cc` */
162
164
165/* `transform_mode_mirror.cc` */
166
168
169/* `transform_mode_push_pull.cc` */
170
172
173/* `transform_mode_resize.cc` */
174
176
177/* `transform_mode_rotate.cc` */
178
180
181/* `transform_mode_shear.cc` */
182
184
185/* `transform_mode_shrink_fatten.cc` */
186
188
189/* `transform_mode_skin_resize.cc` */
190
192
193/* `transform_mode_snapsource.cc` */
194
197
198/* `transform_mode_tilt.cc` */
199
201
202/* `transform_mode_timescale.cc` */
203
205
206/* `transform_mode_timeslide.cc` */
207
209
210/* `transform_mode_timetranslate.cc` */
211
213
214/* `transform_mode_tosphere.cc` */
215
217
218/* `transform_mode_trackball.cc` */
219
221
222/* `transform_mode_translate.cc` */
223
225
226/* `transform_mode_vert_slide.cc` */
227
230
231} // namespace blender::ed::transform
#define C
Definition RandGen.cpp:29
#define str(s)
bool transform_mode_is_changeable(const int mode)
void headerRotation(TransInfo *t, char *str, const int str_size, float final)
void transform_mode_vert_slide_reproject_input(TransInfo *t)
void ElementRotation(const TransInfo *t, const TransDataContainer *tc, TransData *td, const float mat[3][3], const short around)
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 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)
bool transform_mode_affect_only_locations(const TransInfo *t)
void constraintScaleLim(const TransInfo *t, const TransDataContainer *tc, TransData *td)
void ElementRotation_ex(const TransInfo *t, const TransDataContainer *tc, TransData *td, const float mat[3][3], const float *center)
void ElementResize(const TransInfo *t, const TransDataContainer *tc, TransData *td, const float mat[3][3])
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 transform_mode_edge_slide_reproject_input(TransInfo *t)
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 *)