[Bf-committers] getMeshDerivedMesh recomputes object->data
normals?
Stephane SOPPERA
stephane.soppera at wanadoo.fr
Sat Aug 26 20:16:28 CEST 2006
Hum... does somebody know something about this issue?
Stephane SOPPERA a écrit :
> Hi,
>
> I was trying with python Mesh module to give values of vertices
> normals on a newly created mesh.
> I noticed that it's impossible and investigated the problem.
> Actually after the script is ended, since a new object and a new mesh
> have been created, object_handle_update function calls
> makeDispListMesh for the new object. makeDispListMesh then involves
> this call stack:
> makeDispListMesh
> mesh_build_data
> mesh_calc_modifiers
> getMeshDerivedMesh
>
> and in getMeshDerivedMesh there is a call to mesh_calc_normals with
> mdm->verts=me->verts and vertCos=NULL
> This call recomputes the normals for each vertex (me->verts) of the
> original data.
> Actually there is also a comment before the code:
> // XXX this is kinda hacky because we shouldn't really be
> editing
> // the mesh here, however, we can't just call
> mesh_build_faceNormals(ob)
> // because in the case when a key is applied to a mesh the
> vertex normals
> // would never be correctly computed.
> mesh_calc_normals(mdm->verts, me->totvert, me->mface,
> me->totface, &mdm->nors);
> mdm->freeNors = 1;
>
> So the consequence of all that is that each time the display mesh is
> generated (this happen at least when an object is created and each
> time the modifier stack is modified), original mesh normals are
> recomputed and their previous value is lost.
> Is this a wanted behavior? Or is it a side effect?
>
> Stéphane
>
>
>
>
>
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at projects.blender.org
> http://projects.blender.org/mailman/listinfo/bf-committers
>
>
More information about the Bf-committers
mailing list