62 static const float VecOne[3] = {1, 1, 1};
67 static const char OP_RESIZE[] =
"TRANSFORM_OT_resize";
69 static const char OP_SHEAR[] =
"TRANSFORM_OT_shear";
70 static const char OP_BEND[] =
"TRANSFORM_OT_bend";
73 static const char OP_TILT[] =
"TRANSFORM_OT_tilt";
75 static const char OP_MIRROR[] =
"TRANSFORM_OT_mirror";
189 uiItemsEnumO(layout,
"TRANSFORM_OT_select_orientation",
"orientation");
200 ot->
name =
"Select Orientation";
202 ot->
idname =
"TRANSFORM_OT_select_orientation";
248 ot->
name =
"Delete Orientation";
250 ot->
idname =
"TRANSFORM_OT_delete_orientation";
273 "Create Orientation's 'use' parameter only valid in a 3DView context");
296 ot->
name =
"Create Orientation";
297 ot->
description =
"Create transformation orientation from selection";
298 ot->
idname =
"TRANSFORM_OT_create_orientation";
311 "Use the current view instead of the active object to create the new orientation");
316 ot->
srna,
"use",
false,
"Use After Creation",
"Select orientation after its creation");
320 "Overwrite Previous",
321 "Overwrite previously created orientation with same name");
324 #ifdef USE_LOOPSLIDE_HACK
334 bool mesh_select_mode[3];
339 short selectmode_orig;
359 # error "loopslide hack removed!"
364 #ifdef USE_LOOPSLIDE_HACK
415 #if defined(WITH_INPUT_NDOF) && 0
435 if (
t->tsnap.targetSnap && ((
t->tsnap.status &
TARGET_INIT) == 0)) {
436 t->tsnap.targetSnap(
t);
449 if (mode_prev !=
t->mode) {
456 if (item->
mode ==
t->mode) {
548 if (
STREQ(prop_id,
"constraint_axis") &&
597 ot->
srna,
"orient_matrix", 3, 3,
NULL, 0.0f, 0.0f,
"Matrix",
"", 0.0f, 0.0f);
624 "proportional_edit_falloff",
627 "Proportional Falloff",
628 "Falloff type for proportional editing mode");
653 ot->
srna,
"snap_point", 3,
NULL, -FLT_MAX, FLT_MAX,
"Point",
"", -FLT_MAX, FLT_MAX);
660 ot->
srna,
"snap_normal", 3,
NULL, -FLT_MAX, FLT_MAX,
"Normal",
"", -FLT_MAX, FLT_MAX);
670 "Edit Grease Pencil",
671 "Edit selected Grease Pencil strokes");
682 ot->
srna,
"texture_space", 0,
"Edit Texture Space",
"Edit object data texture space");
685 ot->
srna,
"remove_on_cancel", 0,
"Remove on Cancel",
"Remove elements on cancel");
691 ot->
srna,
"correct_uv",
true,
"Correct UVs",
"Correct UV coordinates when transforming");
706 "Confirm on Release",
707 "Always confirm operation when releasing button");
716 "use_automerge_and_split",
718 "Auto Merge & Split",
719 "Forces the use of Auto Merge and Split");
741 ot->
srna,
"value", 3,
NULL, -FLT_MAX, FLT_MAX,
"Move",
"", -FLT_MAX, FLT_MAX);
767 ot->
srna,
"value", 3,
VecOne, -FLT_MAX, FLT_MAX,
"Scale",
"", -FLT_MAX, FLT_MAX);
793 ot->
srna,
"value", 3,
VecOne, -FLT_MAX, FLT_MAX,
"Scale",
"", -FLT_MAX, FLT_MAX);
806 ot->
description =
"Trackball style rotation of selected items";
820 ot->
srna,
"value", 2,
NULL, -FLT_MAX, FLT_MAX,
"Angle",
"", -FLT_MAX, FLT_MAX);
871 ot->
description =
"Tilt selected control vertices of 3D curve";
895 ot->
description =
"Bend selected items between the 3D cursor and the mouse";
930 ot->
description =
"Shear selected items along the horizontal screen axis";
977 ot->
name =
"Shrink/Fatten";
978 ot->
description =
"Shrink/fatten selected vertices along normals";
996 "Scale the offset to give more even thickness");
1007 ot->
description =
"Move selected items outward in a spherical shape around geometric center";
1030 ot->
description =
"Mirror selected items around one or more axes";
1048 ot->
name =
"Scale B-Bone";
1049 ot->
description =
"Scale selected bendy bones display size";
1062 ot->
srna,
"value", 3,
VecOne, -FLT_MAX, FLT_MAX,
"Display Size",
"", -FLT_MAX, FLT_MAX);
1095 "Make the edge loop match the shape of the adjacent edge loop");
1103 "When Even mode is active, flips between the two adjacent edge loops");
1112 ot->
name =
"Vertex Slide";
1130 "Make the edge loop match the shape of the adjacent edge loop");
1138 "When Even mode is active, flips between the two adjacent edge loops");
1147 ot->
name =
"Edge Crease";
1170 ot->
name =
"Edge Bevel Weight";
1192 ot->
name =
"Sequence Slide";
1208 ot->
srna,
"value", 2,
NULL, -FLT_MAX, FLT_MAX,
"Offset",
"", -FLT_MAX, FLT_MAX);
1219 ot->
name =
"Rotate Normals";
1244 ot->
idname =
"TRANSFORM_OT_transform";
1260 ot->
srna,
"value", 4,
NULL, -FLT_MAX, FLT_MAX,
"Values",
"", -FLT_MAX, FLT_MAX);
1278 if (gzgroup !=
NULL) {
1281 const int drag_action =
RNA_enum_get(&gzg_ptr,
"drag_action");
1282 const char *op_id =
NULL;
1283 switch (drag_action) {
1285 op_id =
"TRANSFORM_OT_translate";
1288 op_id =
"TRANSFORM_OT_rotate";
1291 op_id =
"TRANSFORM_OT_resize";
1314 ot->
name =
"Transform from Gizmo";
1316 ot->
idname =
"TRANSFORM_OT_from_gizmo";
struct ScrArea * CTX_wm_area(const bContext *C)
struct Scene * CTX_data_scene(const bContext *C)
struct Object * CTX_data_edit_object(const bContext *C)
struct View3D * CTX_wm_view3d(const bContext *C)
struct wmMsgBus * CTX_wm_message_bus(const bContext *C)
struct ARegion * CTX_wm_region(const bContext *C)
BMEditMesh * BKE_editmesh_from_object(struct Object *ob)
Return the BMEditMesh for a given object.
void BKE_report(ReportList *reports, ReportType type, const char *message)
void BKE_scene_orientation_slot_set_index(struct TransformOrientationSlot *orient_slot, int orientation)
MINLINE bool is_zero_v4(const float a[4]) ATTR_WARN_UNUSED_RESULT
#define BLT_I18NCONTEXT_ID_CURVE
Object is a sort of wrapper for general info.
#define SCE_SNAP_TARGET_ACTIVE
#define SCE_SELECT_VERTEX
@ V3D_GIZMO_SHOW_OBJECT_ROTATE
@ V3D_GIZMO_SHOW_OBJECT_SCALE
@ V3D_GIZMO_SHOW_OBJECT_TRANSLATE
@ OP_IS_MODAL_GRAB_CURSOR
void EDBM_selectmode_set(struct BMEditMesh *em)
bool ED_operator_editmesh_region_view3d(struct bContext *C)
bool ED_operator_editcurve_3d(struct bContext *C)
bool ED_operator_sequencer_active(struct bContext *C)
bool ED_operator_areaactive(struct bContext *C)
bool ED_operator_screenactive(struct bContext *C)
bool ED_operator_view3d_active(struct bContext *C)
bool ED_operator_editmesh(struct bContext *C)
bool ED_operator_object_active(struct bContext *C)
bool ED_operator_region_view3d_active(struct bContext *C)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble y2 _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat y2 _GL_VOID_RET _GL_VOID GLint GLint GLint y2 _GL_VOID_RET _GL_VOID GLshort GLshort GLshort y2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLuint *buffer _GL_VOID_RET _GL_VOID GLdouble t _GL_VOID_RET _GL_VOID GLfloat t _GL_VOID_RET _GL_VOID GLint t _GL_VOID_RET _GL_VOID GLshort t _GL_VOID_RET _GL_VOID GLdouble t
Read Guarded memory(de)allocation.
const EnumPropertyItem * rna_TransformOrientation_itemf(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop, bool *r_free)
struct uiLayout * UI_popup_menu_layout(uiPopupMenu *pup)
void uiItemsEnumO(uiLayout *layout, const char *opname, const char *propname)
void UI_popup_menu_end(struct bContext *C, struct uiPopupMenu *pup)
uiPopupMenu * UI_popup_menu_begin(struct bContext *C, const char *title, int icon) ATTR_NONNULL()
void(* MEM_freeN)(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
static void area(int d1, int d2, int e1, int e2, float weights[2])
const char * RNA_property_identifier(const PropertyRNA *prop)
void RNA_boolean_set(PointerRNA *ptr, const char *name, bool value)
bool RNA_property_is_set(PointerRNA *ptr, PropertyRNA *prop)
void RNA_property_boolean_get_array(PointerRNA *ptr, PropertyRNA *prop, bool *values)
PropertyRNA * RNA_struct_find_property(PointerRNA *ptr, const char *identifier)
bool RNA_property_boolean_get(PointerRNA *ptr, PropertyRNA *prop)
void RNA_string_get(PointerRNA *ptr, const char *name, char *value)
bool RNA_struct_property_is_set(PointerRNA *ptr, const char *identifier)
bool RNA_boolean_get(PointerRNA *ptr, const char *name)
int RNA_enum_get(PointerRNA *ptr, const char *name)
PropertyRNA * RNA_def_float(StructOrFunctionRNA *cont_, const char *identifier, float default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
PropertyRNA * RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, bool default_value, const char *ui_name, const char *ui_description)
PropertyRNA * RNA_def_float_matrix(StructOrFunctionRNA *cont_, const char *identifier, int rows, int columns, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_def_property_enum_default(PropertyRNA *prop, int value)
PropertyRNA * RNA_def_float_distance(StructOrFunctionRNA *cont_, const char *identifier, float default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_def_property_ui_text(PropertyRNA *prop, const char *name, const char *description)
PropertyRNA * RNA_def_float_vector(StructOrFunctionRNA *cont_, const char *identifier, int len, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
PropertyRNA * RNA_def_boolean_vector(StructOrFunctionRNA *cont_, const char *identifier, int len, bool *default_value, const char *ui_name, const char *ui_description)
void RNA_def_property_enum_items(PropertyRNA *prop, const EnumPropertyItem *item)
void RNA_def_property_array(PropertyRNA *prop, int length)
PropertyRNA * RNA_def_float_factor(StructOrFunctionRNA *cont_, const char *identifier, float default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
PropertyRNA * RNA_def_property(StructOrFunctionRNA *cont_, const char *identifier, int type, int subtype)
PropertyRNA * RNA_def_float_translation(StructOrFunctionRNA *cont_, const char *identifier, int len, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
PropertyRNA * RNA_def_string(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, int maxlen, const char *ui_name, const char *ui_description)
void RNA_def_property_translation_context(PropertyRNA *prop, const char *context)
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
void RNA_def_enum_funcs(PropertyRNA *prop, EnumPropertyItemFunc itemfunc)
void RNA_def_property_ui_range(PropertyRNA *prop, double min, double max, double step, int precision)
PropertyRNA * RNA_def_float_rotation(StructOrFunctionRNA *cont_, const char *identifier, int len, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, int default_value, const char *ui_name, const char *ui_description)
const EnumPropertyItem rna_enum_axis_xyz_items[]
const EnumPropertyItem rna_enum_snap_target_items[]
const EnumPropertyItem rna_enum_proportional_falloff_items[]
struct wmGizmoMap * gizmo_map
struct ToolSettings * toolsettings
TransformOrientationSlot orientation_slots[4]
struct wmGizmoGroupType * type
int(* invoke)(struct bContext *, struct wmOperator *, const struct wmEvent *) ATTR_WARN_UNUSED_RESULT
int(* modal)(struct bContext *, struct wmOperator *, const struct wmEvent *) ATTR_WARN_UNUSED_RESULT
bool(* poll)(struct bContext *) ATTR_WARN_UNUSED_RESULT
bool(* poll_property)(const struct bContext *C, struct wmOperator *op, const PropertyRNA *prop) ATTR_WARN_UNUSED_RESULT
void(* cancel)(struct bContext *, struct wmOperator *)
int(* exec)(struct bContext *, struct wmOperator *) ATTR_WARN_UNUSED_RESULT
struct ReportList * reports
struct wmOperatorType * type
void WM_operator_type_set(wmOperator *op, wmOperatorType *ot)
wmEventHandler_Op * WM_event_add_modal_handler(bContext *C, wmOperator *op)
void WM_event_add_notifier(const bContext *C, uint type, void *reference)
int WM_operator_name_call_ptr(bContext *C, wmOperatorType *ot, short context, PointerRNA *properties)
wmGizmoGroup * WM_gizmomap_group_find(struct wmGizmoMap *gzmap, const char *idname)
void WM_modalkeymap_assign(wmKeyMap *km, const char *opname)
#define WM_msg_publish_rna_prop(mbus, id_, data_, type_, prop_)
void WM_operatortype_props_advanced_begin(wmOperatorType *ot)
wmOperatorType * WM_operatortype_find(const char *idname, bool quiet)
void WM_operatortype_append(void(*opfunc)(wmOperatorType *))
void WM_operator_properties_create_ptr(PointerRNA *ptr, wmOperatorType *ot)
void WM_operator_properties_free(PointerRNA *ptr)