[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [21615] branches/blender2.5/blender/source /blender/editors: Extrude along normals.

Martin Poirier theeth at yahoo.com
Thu Jul 16 05:16:04 CEST 2009


Revision: 21615
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21615
Author:   theeth
Date:     2009-07-16 05:16:03 +0200 (Thu, 16 Jul 2009)

Log Message:
-----------
Extrude along normals.

Note that this is on in all cases now, it needs to be restricted to face extrude only.

Some slight transform operator cleanup too.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/editors/include/ED_transform.h
    branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c
    branches/blender2.5/blender/source/blender/editors/transform/transform.c
    branches/blender2.5/blender/source/blender/editors/transform/transform_generics.c
    branches/blender2.5/blender/source/blender/editors/transform/transform_ops.c

Modified: branches/blender2.5/blender/source/blender/editors/include/ED_transform.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/ED_transform.h	2009-07-16 03:11:21 UTC (rev 21614)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_transform.h	2009-07-16 03:16:03 UTC (rev 21615)
@@ -40,6 +40,7 @@
 struct Object;
 struct uiLayout;
 struct EnumPropertyItem;
+struct wmOperatorType;
 
 void transform_keymap_for_space(struct wmWindowManager *wm, struct ListBase *keymap, int spaceid);
 void transform_operatortypes(void);

Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c	2009-07-16 03:11:21 UTC (rev 21614)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c	2009-07-16 03:16:03 UTC (rev 21615)
@@ -702,6 +702,7 @@
 	Scene *scene= CTX_data_scene(C);
 	Object *obedit= CTX_data_edit_object(C);
 	EditMesh *em= BKE_mesh_get_editmesh((Mesh *)obedit->data);
+	int constraint_axis[3] = {0, 0, 1};
 
 	extrude_mesh(obedit,em, op);
 
@@ -712,6 +713,12 @@
 
 	RNA_enum_set(op->ptr, "proportional", 0);
 	RNA_boolean_set(op->ptr, "mirror", 0);
+	
+	/* the following two should only be set when extruding faces */
+	RNA_enum_set(op->ptr, "constraint_orientation", V3D_MANIP_NORMAL);
+	RNA_boolean_set_array(op->ptr, "constraint_axis", constraint_axis);
+	
+	
 	WM_operator_name_call(C, "TFM_OT_translation", WM_OP_INVOKE_REGION_WIN, op->ptr);
 
 	return OPERATOR_FINISHED;
@@ -750,6 +757,7 @@
 
 	/* to give to transform */
 	Properties_Proportional(ot);
+	Properties_Constraints(ot);
 	RNA_def_boolean(ot->srna, "mirror", 0, "Mirror Editing", "");
 }
 

Modified: branches/blender2.5/blender/source/blender/editors/transform/transform.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/transform/transform.c	2009-07-16 03:11:21 UTC (rev 21614)
+++ branches/blender2.5/blender/source/blender/editors/transform/transform.c	2009-07-16 03:16:03 UTC (rev 21615)
@@ -1170,7 +1170,7 @@
 
 	if (RNA_struct_find_property(op->ptr, "constraint_axis"))
 	{
-		RNA_int_set(op->ptr, "constraint_orientation", t->current_orientation);
+		RNA_enum_set(op->ptr, "constraint_orientation", t->current_orientation);
 
 		if (t->con.mode & CON_APPLY)
 		{

Modified: branches/blender2.5/blender/source/blender/editors/transform/transform_generics.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/transform/transform_generics.c	2009-07-16 03:11:21 UTC (rev 21614)
+++ branches/blender2.5/blender/source/blender/editors/transform/transform_generics.c	2009-07-16 03:16:03 UTC (rev 21615)
@@ -886,7 +886,7 @@
 
 		if (op && RNA_struct_find_property(op->ptr, "constraint_axis") && RNA_property_is_set(op->ptr, "constraint_orientation"))
 		{
-			t->current_orientation = RNA_int_get(op->ptr, "constraint_orientation");
+			t->current_orientation = RNA_enum_get(op->ptr, "constraint_orientation");
 
 			if (t->current_orientation >= V3D_MANIP_CUSTOM + BIF_countTransformOrientation(C) - 1)
 			{

Modified: branches/blender2.5/blender/source/blender/editors/transform/transform_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/transform/transform_ops.c	2009-07-16 03:11:21 UTC (rev 21614)
+++ branches/blender2.5/blender/source/blender/editors/transform/transform_ops.c	2009-07-16 03:16:03 UTC (rev 21615)
@@ -81,6 +81,13 @@
 		{0, NULL, 0, NULL, NULL}
 };
 
+EnumPropertyItem orientation_items[]= {
+	{V3D_MANIP_GLOBAL, "GLOBAL", 0, "Global", ""},
+	{V3D_MANIP_NORMAL, "NORMAL", 0, "Normal", ""},
+	{V3D_MANIP_LOCAL, "LOCAL", 0, "Local", ""},
+	{V3D_MANIP_VIEW, "VIEW", 0, "View", ""},
+	{0, NULL, 0, NULL, NULL}};
+
 char OP_TRANSLATION[] = "TFM_OT_translation";
 char OP_ROTATION[] = "TFM_OT_rotation";
 char OP_TOSPHERE[] = "TFM_OT_tosphere";
@@ -137,12 +144,6 @@
 void TFM_OT_select_orientation(struct wmOperatorType *ot)
 {
 	PropertyRNA *prop;
-	static EnumPropertyItem orientation_items[]= {
-		{V3D_MANIP_GLOBAL, "GLOBAL", 0, "Global", ""},
-		{V3D_MANIP_NORMAL, "NORMAL", 0, "Normal", ""},
-		{V3D_MANIP_LOCAL, "LOCAL", 0, "Local", ""},
-		{V3D_MANIP_VIEW, "VIEW", 0, "View", ""},
-		{0, NULL, 0, NULL, NULL}};
 
 	/* identifiers */
 	ot->name   = "Select Orientation";
@@ -293,8 +294,11 @@
 
 void Properties_Constraints(struct wmOperatorType *ot)
 {
+	PropertyRNA *prop;
+
 	RNA_def_boolean_vector(ot->srna, "constraint_axis", 3, NULL, "Constraint Axis", "");
-	RNA_def_int(ot->srna, "constraint_orientation", 0, 0, INT_MAX, "Constraint Orientation", "", 0, INT_MAX);
+	prop= RNA_def_enum(ot->srna, "constraint_orientation", orientation_items, V3D_MANIP_GLOBAL, "Orientation", "DOC_BROKEN");
+	RNA_def_enum_funcs(prop, select_orientation_itemf);
 }
 
 void TFM_OT_translation(struct wmOperatorType *ot)
@@ -558,8 +562,7 @@
 	Properties_Proportional(ot);
 	RNA_def_boolean(ot->srna, "mirror", 0, "Mirror Editing", "");
 
-	RNA_def_boolean_vector(ot->srna, "constraint_axis", 3, NULL, "Constraint Axis", "");
-	RNA_def_int(ot->srna, "constraint_orientation", 0, 0, INT_MAX, "Constraint Orientation", "", 0, INT_MAX);
+	Properties_Constraints(ot);
 }
 
 void transform_operatortypes(void)





More information about the Bf-blender-cvs mailing list