[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53802] trunk/blender: replace vertex slide with the transform operator.

Campbell Barton ideasman42 at gmail.com
Tue Jan 15 04:48:25 CET 2013


Revision: 53802
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53802
Author:   campbellbarton
Date:     2013-01-15 03:48:13 +0000 (Tue, 15 Jan 2013)
Log Message:
-----------
replace vertex slide with the transform operator. (MESH_OT_vert_slide -> TRANSFORM_OT_vert_slide)

Modified Paths:
--------------
    trunk/blender/release/scripts/startup/bl_ui/space_view3d.py
    trunk/blender/source/blender/bmesh/CMakeLists.txt
    trunk/blender/source/blender/bmesh/intern/bmesh_opdefines.c
    trunk/blender/source/blender/bmesh/intern/bmesh_operators_private.h
    trunk/blender/source/blender/editors/mesh/CMakeLists.txt
    trunk/blender/source/blender/editors/mesh/mesh_intern.h
    trunk/blender/source/blender/editors/mesh/mesh_ops.c
    trunk/blender/source/blender/editors/transform/transform_ops.c

Removed Paths:
-------------
    trunk/blender/source/blender/bmesh/operators/bmo_slide.c
    trunk/blender/source/blender/editors/mesh/editmesh_slide.c

Modified: trunk/blender/release/scripts/startup/bl_ui/space_view3d.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/space_view3d.py	2013-01-15 03:35:31 UTC (rev 53801)
+++ trunk/blender/release/scripts/startup/bl_ui/space_view3d.py	2013-01-15 03:48:13 UTC (rev 53802)
@@ -1789,7 +1789,7 @@
         layout.operator("mesh.split")
         layout.operator_menu_enum("mesh.separate", "type")
         layout.operator("mesh.vert_connect")
-        layout.operator("mesh.vert_slide")
+        layout.operator("transform.vert_slide")
 
         layout.separator()
 

Modified: trunk/blender/source/blender/bmesh/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/bmesh/CMakeLists.txt	2013-01-15 03:35:31 UTC (rev 53801)
+++ trunk/blender/source/blender/bmesh/CMakeLists.txt	2013-01-15 03:48:13 UTC (rev 53802)
@@ -41,7 +41,6 @@
 set(SRC
 	operators/bmo_bevel.c
 	operators/bmo_connect.c
-	operators/bmo_slide.c
 	operators/bmo_create.c
 	operators/bmo_dissolve.c
 	operators/bmo_dupe.c

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_opdefines.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_opdefines.c	2013-01-15 03:35:31 UTC (rev 53801)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_opdefines.c	2013-01-15 03:48:13 UTC (rev 53802)
@@ -1536,27 +1536,6 @@
 	0
 };
 
-/*
- * Vertex Slide.
- *
- * Translates verts along an edge
- */
-static BMOpDefine bmo_slide_vert_def = {
-	"slide_vert",
-	/* slots_in */
-	{{"vert", BMO_OP_SLOT_ELEMENT_BUF, {BM_VERT | BMO_OP_SLOT_SUBTYPE_ELEM_IS_SINGLE}},
-	 {"edges", BMO_OP_SLOT_ELEMENT_BUF, {BM_EDGE}},
-	 {"factor", BMO_OP_SLOT_FLT},
-	 {{'\0'}},
-	},
-	/* slots_out */
-	{{"verts.out", BMO_OP_SLOT_ELEMENT_BUF, {BM_VERT}},
-	 {{'\0'}},
-	},
-	bmo_slide_vert_exec,
-	BMO_OP_FLAG_UNTAN_MULTIRES
-};
-
 #ifdef WITH_BULLET
 /*
  * Convex Hull
@@ -1676,7 +1655,6 @@
 	&bmo_similar_edges_def,
 	&bmo_similar_faces_def,
 	&bmo_similar_verts_def,
-	&bmo_slide_vert_def,
 	&bmo_smooth_vert_def,
 	&bmo_smooth_laplacian_vert_def,
 	&bmo_solidify_def,

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_operators_private.h
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_operators_private.h	2013-01-15 03:35:31 UTC (rev 53801)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_operators_private.h	2013-01-15 03:48:13 UTC (rev 53802)
@@ -89,7 +89,6 @@
 void bmo_similar_edges_exec(BMesh *bm, BMOperator *op);
 void bmo_similar_faces_exec(BMesh *bm, BMOperator *op);
 void bmo_similar_verts_exec(BMesh *bm, BMOperator *op);
-void bmo_slide_vert_exec(BMesh *bm, BMOperator *op);
 void bmo_smooth_vert_exec(BMesh *bm, BMOperator *op);
 void bmo_smooth_laplacian_vert_exec(BMesh *bm, BMOperator *op);
 void bmo_solidify_face_region_exec(BMesh *bm, BMOperator *op);

Deleted: trunk/blender/source/blender/bmesh/operators/bmo_slide.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_slide.c	2013-01-15 03:35:31 UTC (rev 53801)
+++ trunk/blender/source/blender/bmesh/operators/bmo_slide.c	2013-01-15 03:48:13 UTC (rev 53802)
@@ -1,113 +0,0 @@
-/*
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * Contributor(s): Francisco De La Cruz
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/** \file blender/bmesh/operators/bmo_slide.c
- *  \ingroup bmesh
- */
-
-#include "MEM_guardedalloc.h"
-
-#include "BKE_global.h"
-
-#include "BLI_math.h"
-
-#include "bmesh.h"
-#include "intern/bmesh_operators_private.h" /* own include */
-
-#define EDGE_MARK 1
-#define VERT_MARK 2
-
-/*
- * Slides a vertex along a connected edge
- *
- */
-void bmo_slide_vert_exec(BMesh *bm, BMOperator *op)
-{
-	BMOIter oiter;
-	BMIter iter;
-	BMHeader *h;
-	BMVert *vertex;
-	BMEdge *edge;
-	BMEdge *slide_edge;
-
-	/* Selection counts */
-	int selected_edges = 0;
-
-	/* Get slide amount */
-	const float factor = BMO_slot_float_get(op->slots_in, "factor");
-
-	/* Get start vertex */
-	vertex = BMO_slot_buffer_get_single(BMO_slot_get(op->slots_in, "vert"));
-
-	if (!vertex) {
-		if (G.debug & G_DEBUG) {
-			fprintf(stderr, "slide_vert: No vertex selected...");
-		}
-		BMO_error_raise(bm, op, BMERR_INVALID_SELECTION, "Vertex Slide error: invalid selection");
-		return;
-	}
-
-	/* BMESH_TODO - this is odd, it only uses one edge, why take a list at all? */
-	/* Count selected edges */
-	BMO_ITER (h, &oiter, op->slots_in, "edges", BM_EDGE) {
-		selected_edges++;
-		/* Mark all selected edges (cast BMHeader->BMEdge) */
-		BMO_elem_flag_enable(bm, (BMElemF *)h, EDGE_MARK);
-		break;
-	}
-
-	/* Only allow sliding if an edge is selected */
-	if (selected_edges == 0) {
-		if (G.debug & G_DEBUG) {
-			fprintf(stderr, "slide_vert: select a single edge\n");
-		}
-		BMO_error_raise(bm, op, BMERR_INVALID_SELECTION, "Vertex Slide error: invalid selection");
-		return;
-	}
-
-	/* Make sure we get the correct edge. */
-	slide_edge = NULL;
-	BM_ITER_ELEM (edge, &iter, vertex, BM_EDGES_OF_VERT) {
-		if (BMO_elem_flag_test(bm, edge, EDGE_MARK) && BM_vert_in_edge(edge, vertex)) {
-			slide_edge = edge;
-			break;
-		}
-	}
-
-	/* Found edge */
-	if (slide_edge) {
-		BMVert *other = BM_edge_other_vert(slide_edge, vertex);
-
-		/* mark */
-		BMO_elem_flag_enable(bm, vertex, VERT_MARK);
-
-		/* Interpolate */
-		interp_v3_v3v3(vertex->co, vertex->co, other->co, factor);
-	}
-
-	/* Return the new edge. The same previously marked with VERT_MARK */
-	BMO_slot_buffer_from_enabled_flag(bm, op, op->slots_out, "verts.out", BM_VERT, VERT_MARK);
-	return;
-}
-
-#undef EDGE_MARK
-#undef VERT_MARK

Modified: trunk/blender/source/blender/editors/mesh/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/editors/mesh/CMakeLists.txt	2013-01-15 03:35:31 UTC (rev 53801)
+++ trunk/blender/source/blender/editors/mesh/CMakeLists.txt	2013-01-15 03:48:13 UTC (rev 53802)
@@ -48,7 +48,6 @@
 	editmesh_select.c
 	editmesh_tools.c
 	editmesh_utils.c
-	editmesh_slide.c
 	mesh_data.c
 	mesh_ops.c
 	meshtools.c

Deleted: trunk/blender/source/blender/editors/mesh/editmesh_slide.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_slide.c	2013-01-15 03:35:31 UTC (rev 53801)
+++ trunk/blender/source/blender/editors/mesh/editmesh_slide.c	2013-01-15 03:48:13 UTC (rev 53802)
@@ -1,793 +0,0 @@
-/*
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * Contributor(s): Francisco De La Cruz
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/** \file blender/editors/mesh/editmesh_slide.c
- *  \ingroup edmesh
- */
-
-/* Takes heavily from editmesh_loopcut.c */
-
-#include "DNA_object_types.h"
-#include "DNA_mesh_types.h"
-
-#include "MEM_guardedalloc.h"
-
-#include "BLI_array.h"
-#include "BLI_math.h"
-
-#include "BLF_translation.h"
-
-#include "BKE_context.h"
-#include "BKE_report.h"
-#include "BKE_tessmesh.h"
-
-#include "BIF_gl.h"
-#include "BIF_glutil.h"
-
-#include "ED_screen.h"
-#include "ED_view3d.h"
-#include "ED_mesh.h"
-#include "ED_space_api.h"
-
-#include "UI_resources.h"
-
-#include "RNA_access.h"
-#include "RNA_define.h"
-
-#include "WM_api.h"
-#include "WM_types.h"
-
-#include "mesh_intern.h"
-
-#define VTX_SLIDE_SNAP_THRSH 15
-
-/* Cusom VertexSlide Operator data */
-typedef struct VertexSlideOp {
-	/* Starting Vertex */
-	BMVert *start_vtx;
-	BMEdge *sel_edge;
-
-	ViewContext *view_context;
-	ARegion *active_region;
-
-	/* Draw callback handle */
-	void *draw_handle;
-
-	/* Active Object */
-	Object *obj;
-
-	/* Are we in slide mode */
-	int slide_mode;
-	int snap_n_merge;
-	int snap_to_end_vtx;
-	int snap_to_mid;
-
-	/* Snap threshold */
-	float snap_threshold;
-
-	float distance;
-	float interp[3];
-
-	/* Edge Frame Count */
-	int disk_edges;
-
-	/* Edges */
-	BMEdge **edge_frame;
-
-	/* Slide Frame Endpoints */
-	float (*vtx_frame)[3];
-
-	/* Mouse Click 2d pos */
-	int m_co[2];
-
-} VertexSlideOp;
-
-static void vtx_slide_draw(const bContext *C, ARegion *ar, void *arg);
-static int edbm_vertex_slide_exec_ex(bContext *C, wmOperator *op, const int do_update);
-static void vtx_slide_exit(const bContext *C, wmOperator *op);
-static int vtx_slide_set_frame(VertexSlideOp *vso);
-
-static int vtx_slide_init(bContext *C, wmOperator *op)
-{
-	Object *obedit = CTX_data_edit_object(C);
-	BMEditMesh *em = BMEdit_FromObject(obedit);
-	BMEditSelection *ese;
-
-	/* Custom data */
-	VertexSlideOp *vso;
-
-	const char *header_str = TIP_("Vertex Slide: Hover over an edge and left-click to select slide edge. "
-	                              "Left-Shift: Midpoint Snap, Left-Alt: Snap, Left-Ctrl: Snap & Merge");
-
-	if (!obedit) {
-		BKE_report(op->reports, RPT_ERROR, "Vertex slide error: no object in context");
-		return FALSE;
-	}
-
-	EDBM_selectmode_flush(em);
-	ese = em->bm->selected.last;
-
-	/* Is there a starting vertex  ? */

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list