Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/editors/mesh/editmesh_mods.c')
-rw-r--r--source/blender/editors/mesh/editmesh_mods.c67
1 files changed, 36 insertions, 31 deletions
diff --git a/source/blender/editors/mesh/editmesh_mods.c b/source/blender/editors/mesh/editmesh_mods.c
index 717b725387a..b2ae7ddf7e0 100644
--- a/source/blender/editors/mesh/editmesh_mods.c
+++ b/source/blender/editors/mesh/editmesh_mods.c
@@ -15,7 +15,7 @@
*
* 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* The Original Code is Copyright (C) 2004 Blender Foundation.
* All rights reserved.
@@ -1294,7 +1294,7 @@ void MESH_OT_select_similar(wmOperatorType *ot)
/* identifiers */
ot->name= "Select Similar";
- ot->description= "Select similar vertices, edges or faces by property types.";
+ ot->description= "Select similar vertices, edges or faces by property types";
ot->idname= "MESH_OT_select_similar";
/* api callbacks */
@@ -2024,7 +2024,7 @@ void MESH_OT_loop_multi_select(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Multi Select Loops";
- ot->description= "Select a loop of connected edges by connection type.";
+ ot->description= "Select a loop of connected edges by connection type";
ot->idname= "MESH_OT_loop_multi_select";
/* api callbacks */
@@ -2111,7 +2111,7 @@ void MESH_OT_loop_select(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Loop Select";
- ot->description= "Select a loop of connected edges.";
+ ot->description= "Select a loop of connected edges";
ot->idname= "MESH_OT_loop_select";
/* api callbacks */
@@ -2133,7 +2133,7 @@ static void mouse_mesh_shortest_path(bContext *C, short mval[2])
{
ViewContext vc;
EditMesh *em;
- EditEdge *eed;
+ EditEdge *eed, *eed_act= NULL;
int dist= 50;
em_setup_viewcontext(C, &vc);
@@ -2153,7 +2153,6 @@ static void mouse_mesh_shortest_path(bContext *C, short mval[2])
EditSelection *ese = em->selected.last;
if(ese && ese->type == EDITEDGE) {
- EditEdge *eed_act;
eed_act = (EditEdge*)ese->data;
if (eed_act != eed) {
if (edgetag_shortest_path(vc.scene, em, eed_act, eed)) {
@@ -2167,14 +2166,20 @@ static void mouse_mesh_shortest_path(bContext *C, short mval[2])
int act = (edgetag_context_check(vc.scene, eed)==0);
edgetag_context_set(vc.scene, eed, act); /* switch the edge option */
}
-
- EM_selectmode_flush(em);
/* even if this is selected it may not be in the selection list */
- if(edgetag_context_check(vc.scene, eed)==0)
+ if(edgetag_context_check(vc.scene, eed)==EDGE_MODE_SELECT)
EM_remove_selection(em, eed, EDITEDGE);
- else
+ else {
+ /* other modes need to keep the last edge tagged */
+ if(eed_act)
+ EM_select_edge(eed_act, 0);
+
+ EM_select_edge(eed, 1);
EM_store_selection(em, eed, EDITEDGE);
+ }
+
+ EM_selectmode_flush(em);
/* force drawmode for mesh */
switch (vc.scene->toolsettings->edge_mode) {
@@ -2213,7 +2218,7 @@ void MESH_OT_select_shortest_path(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Shortest Path Select";
- ot->description= "Select shortest path between two selections.";
+ ot->description= "Select shortest path between two selections";
ot->idname= "MESH_OT_select_shortest_path";
/* api callbacks */
@@ -2521,7 +2526,7 @@ void MESH_OT_select_linked_pick(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Select Linked";
- ot->description= "(un)select all vertices linked to the active mesh.";
+ ot->description= "(un)select all vertices linked to the active mesh";
ot->idname= "MESH_OT_select_linked_pick";
/* api callbacks */
@@ -2610,7 +2615,7 @@ void MESH_OT_select_linked(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Select Linked All";
- ot->description= "Select all vertices linked to the active mesh.";
+ ot->description= "Select all vertices linked to the active mesh";
ot->idname= "MESH_OT_select_linked";
/* api callbacks */
@@ -2747,7 +2752,7 @@ void MESH_OT_hide(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Hide Selection";
- ot->description= "Hide (un)selected vertices, edges or faces.";
+ ot->description= "Hide (un)selected vertices, edges or faces";
ot->idname= "MESH_OT_hide";
/* api callbacks */
@@ -2814,7 +2819,7 @@ void MESH_OT_reveal(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Reveal Hidden";
- ot->description= "Reveal all hidden vertices, edges and faces.";
+ ot->description= "Reveal all hidden vertices, edges and faces";
ot->idname= "MESH_OT_reveal";
/* api callbacks */
@@ -2869,7 +2874,7 @@ void MESH_OT_select_by_number_vertices(wmOperatorType *ot)
/* identifiers */
ot->name= "Select by Number of Vertices";
- ot->description= "Select vertices or faces by vertex count.";
+ ot->description= "Select vertices or faces by vertex count";
ot->idname= "MESH_OT_select_by_number_vertices";
/* api callbacks */
@@ -2903,7 +2908,7 @@ void MESH_OT_select_mirror(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Select Mirror";
- ot->description= "Select mesh items at mirrored locations.";
+ ot->description= "Select mesh items at mirrored locations";
ot->idname= "MESH_OT_select_mirror";
/* api callbacks */
@@ -3024,7 +3029,7 @@ void MESH_OT_edges_select_sharp(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Select Sharp Edges";
- ot->description= "Marked selected edges as sharp.";
+ ot->description= "Marked selected edges as sharp";
ot->idname= "MESH_OT_edges_select_sharp";
/* api callbacks */
@@ -3192,7 +3197,7 @@ void MESH_OT_faces_select_linked_flat(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Select Linked Flat Faces";
- ot->description= "Select linked faces by angle.";
+ ot->description= "Select linked faces by angle";
ot->idname= "MESH_OT_faces_select_linked_flat";
/* api callbacks */
@@ -3293,7 +3298,7 @@ void MESH_OT_select_non_manifold(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Select Non Manifold";
- ot->description= "Select all non-manifold vertices or edges.";
+ ot->description= "Select all non-manifold vertices or edges";
ot->idname= "MESH_OT_select_non_manifold";
/* api callbacks */
@@ -3357,7 +3362,7 @@ void MESH_OT_select_inverse(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Select Inverse";
- ot->description= "Select inverse of (un)selected vertices, edges or faces.";
+ ot->description= "Select inverse of (un)selected vertices, edges or faces";
ot->idname= "MESH_OT_select_inverse";
/* api callbacks */
@@ -3419,7 +3424,7 @@ void MESH_OT_select_all(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Select/Deselect All";
- ot->description= "Change selection of all vertices, edges or faces.";
+ ot->description= "Change selection of all vertices, edges or faces";
ot->idname= "MESH_OT_select_all";
/* api callbacks */
@@ -3492,7 +3497,7 @@ void MESH_OT_select_more(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Select More";
- ot->description= "Select more vertices, edges or faces connected to initial selection.";
+ ot->description= "Select more vertices, edges or faces connected to initial selection";
ot->idname= "MESH_OT_select_more";
/* api callbacks */
@@ -3582,7 +3587,7 @@ void MESH_OT_select_less(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Select Less";
- ot->description= "Select less vertices, edges or faces connected to initial selection.";
+ ot->description= "Select less vertices, edges or faces connected to initial selection";
ot->idname= "MESH_OT_select_less";
/* api callbacks */
@@ -3652,7 +3657,7 @@ void MESH_OT_select_random(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Select Random";
- ot->description= "Randomly select vertices.";
+ ot->description= "Randomly select vertices";
ot->idname= "MESH_OT_select_random";
/* api callbacks */
@@ -3739,7 +3744,7 @@ void MESH_OT_mark_seam(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Mark Seam";
- ot->description= "(un)mark selected edges as a seam.";
+ ot->description= "(un)mark selected edges as a seam";
ot->idname= "MESH_OT_mark_seam";
/* api callbacks */
@@ -3791,7 +3796,7 @@ void MESH_OT_mark_sharp(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Mark Sharp";
- ot->description= "(un)mark selected edges as sharp.";
+ ot->description= "(un)mark selected edges as sharp";
ot->idname= "MESH_OT_mark_sharp";
/* api callbacks */
@@ -4035,7 +4040,7 @@ void MESH_OT_normals_make_consistent(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Make Normals Consistent";
- ot->description= "Flip all selected vertex and face normals in a consistent direction.";
+ ot->description= "Flip all selected vertex and face normals in a consistent direction";
ot->idname= "MESH_OT_normals_make_consistent";
/* api callbacks */
@@ -4379,7 +4384,7 @@ void MESH_OT_vertices_smooth(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Smooth Vertex";
- ot->description= "Flatten angles of selected vertices.";
+ ot->description= "Flatten angles of selected vertices";
ot->idname= "MESH_OT_vertices_smooth";
/* api callbacks */
@@ -4486,7 +4491,7 @@ void MESH_OT_flip_normals(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Flip Normals";
- ot->description= "Toggle the direction of selected face's vertex and face normals.";
+ ot->description= "Toggle the direction of selected face's vertex and face normals";
ot->idname= "MESH_OT_flip_normals";
/* api callbacks */
@@ -4528,7 +4533,7 @@ void MESH_OT_solidify(wmOperatorType *ot)
PropertyRNA *prop;
/* identifiers */
ot->name= "Solidify";
- ot->description= "Create a solid skin by extruding, compensating for sharp angles.";
+ ot->description= "Create a solid skin by extruding, compensating for sharp angles";
ot->idname= "MESH_OT_solidify";
/* api callbacks */