[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