[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35408] trunk/blender/source/blender/ blenkernel/intern/particle.c: Fix for [#26322] x-mirror gives wrong results while editing hair particles

Janne Karhu jhkarh at gmail.com
Tue Mar 8 17:52:10 CET 2011


Revision: 35408
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35408
Author:   jhk
Date:     2011-03-08 16:52:10 +0000 (Tue, 08 Mar 2011)
Log Message:
-----------
Fix for [#26322] x-mirror gives wrong results while editing hair particles
* Tsk! Particle mirroring was working fine for the case where subsurf modifier was before particles (orcos are transformed in this case), but not the other way around (unnecessary inverse transform of orcos).
* Not really satisfied with having to check for the CD_ORIGINDEX layer, so if Brecht or somebody else knows a better way then please change this :)

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/particle.c

Modified: trunk/blender/source/blender/blenkernel/intern/particle.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/particle.c	2011-03-08 16:08:43 UTC (rev 35407)
+++ trunk/blender/source/blender/blenkernel/intern/particle.c	2011-03-08 16:52:10 UTC (rev 35408)
@@ -3347,7 +3347,8 @@
 
 		/* ugly hack to use non-transformed orcos, since only those
 		 * give symmetric results for mirroring in particle mode */
-		transform_mesh_orco_verts(ob->data, v, 3, 1);
+		if(DM_get_vert_data_layer(dm, CD_ORIGINDEX))
+			transform_mesh_orco_verts(ob->data, v, 3, 1);
 	}
 	else {
 		dm->getVertCo(dm,mface->v1,v[0]);
@@ -3375,7 +3376,8 @@
 	psys_particle_on_dm(dm, from, pa->num, pa->num_dmcache, pa->fuv, pa->foffset, vec, 0, 0, 0, orco, 0);
 
 	/* see psys_face_mat for why this function is called */
-	transform_mesh_orco_verts(ob->data, &orco, 1, 1);
+	if(DM_get_vert_data_layer(dm, CD_ORIGINDEX))
+		transform_mesh_orco_verts(ob->data, &orco, 1, 1);
 	VECCOPY(hairmat[3],orco);
 }
 




More information about the Bf-blender-cvs mailing list