[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23976] trunk/blender/source/blender/ editors/transform: - enable snap to work for particle editmode so you can snap onto the emitter .

Campbell Barton ideasman42 at gmail.com
Mon Oct 19 19:20:09 CEST 2009


Revision: 23976
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23976
Author:   campbellbarton
Date:     2009-10-19 19:20:09 +0200 (Mon, 19 Oct 2009)

Log Message:
-----------
- enable snap to work for particle editmode so you can snap onto the emitter.
  theeth: maybe there needs to be a new SnapMode for this? - SNAP_SELF?, like editmode but without setting t->editob

- dont run special_aftertrans_update on scene objects when after sequencer transform

Modified Paths:
--------------
    trunk/blender/source/blender/editors/transform/transform_conversions.c
    trunk/blender/source/blender/editors/transform/transform_snap.c

Modified: trunk/blender/source/blender/editors/transform/transform_conversions.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_conversions.c	2009-10-19 17:18:31 UTC (rev 23975)
+++ trunk/blender/source/blender/editors/transform/transform_conversions.c	2009-10-19 17:20:09 UTC (rev 23976)
@@ -4572,6 +4572,10 @@
 			}
 		}
 	}
+	else if (t->spacetype == SPACE_SEQ) {
+		/* freeSeqData in transform_conversions.c does this
+		 * keep here so the else at the end wont run... */
+	}
 	else if (t->spacetype == SPACE_ACTION) {
 		SpaceAction *saction= (SpaceAction *)t->sa->spacedata.first;
 		Scene *scene;

Modified: trunk/blender/source/blender/editors/transform/transform_snap.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_snap.c	2009-10-19 17:18:31 UTC (rev 23975)
+++ trunk/blender/source/blender/editors/transform/transform_snap.c	2009-10-19 17:20:09 UTC (rev 23976)
@@ -1453,9 +1453,19 @@
 	if (mode == SNAP_ALL && obedit)
 	{
 		Object *ob = obedit;
-		
+
 		retval |= snapObject(scene, ar, ob, 1, ob->obmat, ray_start, ray_normal, mval, loc, no, dist, &depth);
 	}
+
+	/* This isn't so great, particles only need to snap with the mesh object
+	 * that emits them, but this doesnt fit into a current snap mode
+	 * */
+	if(BASACT->object && BASACT->object->mode & OB_MODE_PARTICLE_EDIT)
+	{
+		Object *ob = BASACT->object;
+
+		retval |= snapObject(scene, ar, ob, 0, ob->obmat, ray_start, ray_normal, mval, loc, no, dist, &depth);
+	}
 	
 	base= FIRSTBASE;
 	for ( base = FIRSTBASE; base != NULL; base = base->next ) {





More information about the Bf-blender-cvs mailing list