[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45315] branches/soc-2011-avocado/blender: restore retopo build tool from dan_w

Andrea Weikert elubie at gmx.net
Sat Mar 31 23:13:43 CEST 2012


Revision: 45315
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45315
Author:   elubie
Date:     2012-03-31 21:13:29 +0000 (Sat, 31 Mar 2012)
Log Message:
-----------
restore retopo build tool from dan_w

* code should represent latest state at the end of GSOC 2011

Modified Paths:
--------------
    branches/soc-2011-avocado/blender/release/scripts/startup/bl_ui/properties_object.py
    branches/soc-2011-avocado/blender/source/blender/editors/mesh/editmesh_add.c
    branches/soc-2011-avocado/blender/source/blender/editors/mesh/mesh_intern.h
    branches/soc-2011-avocado/blender/source/blender/editors/mesh/mesh_ops.c
    branches/soc-2011-avocado/blender/source/blender/editors/object/CMakeLists.txt
    branches/soc-2011-avocado/blender/source/blender/editors/object/object_edit.c
    branches/soc-2011-avocado/blender/source/blender/editors/object/object_intern.h
    branches/soc-2011-avocado/blender/source/blender/editors/object/object_ops.c

Modified: branches/soc-2011-avocado/blender/release/scripts/startup/bl_ui/properties_object.py
===================================================================
--- branches/soc-2011-avocado/blender/release/scripts/startup/bl_ui/properties_object.py	2012-03-31 20:40:38 UTC (rev 45314)
+++ branches/soc-2011-avocado/blender/release/scripts/startup/bl_ui/properties_object.py	2012-03-31 21:13:29 UTC (rev 45315)
@@ -222,8 +222,18 @@
         col.prop(ob, "show_x_ray", text="X-Ray")
         if ob.type == 'MESH':
             col.prop(ob, "show_transparent", text="Transparency")
+            
+class OBJECT_PT_retopology(ObjectButtonsPanel, bpy.types.Panel):
+    bl_label = "Retopology"
 
+    def draw(self, context):
+        layout = self.layout
 
+        ob = context.object
+
+        row = layout.row(align=True)
+        row.operator("object.retopo_extend", text="Extend")
+
 class OBJECT_PT_duplication(ObjectButtonsPanel, Panel):
     bl_label = "Duplication"
 

Modified: branches/soc-2011-avocado/blender/source/blender/editors/mesh/editmesh_add.c
===================================================================
--- branches/soc-2011-avocado/blender/source/blender/editors/mesh/editmesh_add.c	2012-03-31 20:40:38 UTC (rev 45314)
+++ branches/soc-2011-avocado/blender/source/blender/editors/mesh/editmesh_add.c	2012-03-31 21:13:29 UTC (rev 45315)
@@ -50,6 +50,7 @@
 #include "ED_mesh.h"
 #include "ED_screen.h"
 #include "ED_object.h"
+#include "ED_view3d.h"
 
 #include "mesh_intern.h"
 
@@ -649,3 +650,67 @@
 
 	ED_object_add_generic_props(ot, TRUE);
 }
+
+struct retopo_vertex
+{
+	float x, y, z;
+}g_retopo_build_verticies[128];
+int g_retopo_build_verticies_count;
+
+int ED_object_retopo_build_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event))
+{
+	/*
+	for(int i = 0; i < 128; i++)
+	{
+		g_retopo_build_verticies[i].x = 0;
+		g_retopo_build_verticies[i].y = 0;
+		g_retopo_build_verticies[i].z = 0;
+	}
+	g_retopo_build_verticies_count;
+*/
+	WM_event_add_modal_handler(C, op);
+	return OPERATOR_RUNNING_MODAL;
+}
+
+static int ED_object_retopo_build_modal (bContext *C, wmOperator *op, wmEvent *event)
+{
+	ViewContext vc;
+	float nor[3]= {0.0, 0.0, 0.0};
+	em_setup_viewcontext(C, &vc);
+	if(event->type==LEFTMOUSE && event->val==KM_PRESS)
+	{
+		nor[0] = (float)event->x;
+		nor[1] = (float)event->y;
+
+		// get world space coords of mouseclick
+		mul_mat3_m4_v3(vc.rv3d->viewinv, nor);
+
+		// on condition of clicking on first vertex or right clicking
+		{
+			// build bmesh
+			// call bmesh op, supplying coordinate data
+		}
+	}
+	return 0;
+}
+
+static int ED_object_retopo_build_poll (bContext *C)
+{
+	return 1;
+}
+
+void MESH_OT_retopo_build(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Build";
+	ot->description= "Construct polygons incrementally";
+	ot->idname= "MESH_OT_retopo_build";
+
+	/* api callbacks */
+	ot->invoke= ED_object_retopo_build_invoke;
+	ot->modal= ED_object_retopo_build_modal;
+	ot->poll= ED_object_retopo_build_poll;
+
+	/* flags */
+	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
+}
\ No newline at end of file

Modified: branches/soc-2011-avocado/blender/source/blender/editors/mesh/mesh_intern.h
===================================================================
--- branches/soc-2011-avocado/blender/source/blender/editors/mesh/mesh_intern.h	2012-03-31 20:40:38 UTC (rev 45314)
+++ branches/soc-2011-avocado/blender/source/blender/editors/mesh/mesh_intern.h	2012-03-31 21:13:29 UTC (rev 45315)
@@ -216,6 +216,8 @@
 void MESH_OT_bridge_edge_loops(struct wmOperatorType *ot);
 void MESH_OT_inset(struct wmOperatorType *ot);
 
+void MESH_OT_retopo_build(struct wmOperatorType *ot);
+
 /* ******************* mesh_navmesh.c */
 void MESH_OT_navmesh_make(struct wmOperatorType *ot);
 void MESH_OT_navmesh_face_copy(struct wmOperatorType *ot);

Modified: branches/soc-2011-avocado/blender/source/blender/editors/mesh/mesh_ops.c
===================================================================
--- branches/soc-2011-avocado/blender/source/blender/editors/mesh/mesh_ops.c	2012-03-31 20:40:38 UTC (rev 45314)
+++ branches/soc-2011-avocado/blender/source/blender/editors/mesh/mesh_ops.c	2012-03-31 21:13:29 UTC (rev 45315)
@@ -166,6 +166,8 @@
 	WM_operatortype_append(MESH_OT_inset);
 	WM_operatortype_append(MESH_OT_edge_split);
 
+	WM_operatortype_append(MESH_OT_retopo_build);
+
 #ifdef WITH_GAMEENGINE
 	WM_operatortype_append(MESH_OT_navmesh_make);
 	WM_operatortype_append(MESH_OT_navmesh_face_copy);

Modified: branches/soc-2011-avocado/blender/source/blender/editors/object/CMakeLists.txt
===================================================================
--- branches/soc-2011-avocado/blender/source/blender/editors/object/CMakeLists.txt	2012-03-31 20:40:38 UTC (rev 45314)
+++ branches/soc-2011-avocado/blender/source/blender/editors/object/CMakeLists.txt	2012-03-31 21:13:29 UTC (rev 45315)
@@ -50,6 +50,7 @@
 	object_modifier.c
 	object_ops.c
 	object_relations.c
+	object_retopo.c
 	object_select.c
 	object_shapekey.c
 	object_transform.c

Modified: branches/soc-2011-avocado/blender/source/blender/editors/object/object_edit.c
===================================================================
--- branches/soc-2011-avocado/blender/source/blender/editors/object/object_edit.c	2012-03-31 20:40:38 UTC (rev 45314)
+++ branches/soc-2011-avocado/blender/source/blender/editors/object/object_edit.c	2012-03-31 21:13:29 UTC (rev 45315)
@@ -1804,3 +1804,16 @@
 	/* flags */
 	ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
 }
+
+void OBJECT_OT_retopo_extend(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Extend";
+	ot->description= "Extend elements";
+	ot->idname= "OBJECT_OT_retopo_extend";
+
+	/* api callbacks */
+	//ot->exec= bake_image_exec;
+	//ot->invoke= objects_bake_render_invoke;
+	//ot->modal= objects_bake_render_modal;
+}
\ No newline at end of file

Modified: branches/soc-2011-avocado/blender/source/blender/editors/object/object_intern.h
===================================================================
--- branches/soc-2011-avocado/blender/source/blender/editors/object/object_intern.h	2012-03-31 20:40:38 UTC (rev 45314)
+++ branches/soc-2011-avocado/blender/source/blender/editors/object/object_intern.h	2012-03-31 21:13:29 UTC (rev 45315)
@@ -225,5 +225,8 @@
 /* object_bake.c */
 void OBJECT_OT_bake_image(wmOperatorType *ot);
 
+/* object_retopo.h */
+void OBJECT_OT_retopo_extend(struct wmOperatorType *ot);
+
 #endif /* __OBJECT_INTERN_H__ */
 

Modified: branches/soc-2011-avocado/blender/source/blender/editors/object/object_ops.c
===================================================================
--- branches/soc-2011-avocado/blender/source/blender/editors/object/object_ops.c	2012-03-31 20:40:38 UTC (rev 45314)
+++ branches/soc-2011-avocado/blender/source/blender/editors/object/object_ops.c	2012-03-31 21:13:29 UTC (rev 45315)
@@ -214,6 +214,8 @@
 
 	WM_operatortype_append(OBJECT_OT_bake_image);
 	WM_operatortype_append(OBJECT_OT_drop_named_material);
+
+	WM_operatortype_append(OBJECT_OT_retopo_extend);
 }
 
 void ED_operatormacros_object(void)




More information about the Bf-blender-cvs mailing list