[Bf-committers] getMeshDerivedMesh recomputes object->data normals?

Ben Batt benbatt at gmail.com
Sat Aug 26 20:49:03 CEST 2006


Hi Stephane,
It looks to me like mdm->verts needs to be a copy of me->verts. I'll
have a bit more of a
poke around and get back to you.

Ben

On 8/27/06, Stephane SOPPERA <stephane.soppera at wanadoo.fr> wrote:
> 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
> >
> >
>
> _______________________________________________
> 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