both these files seem to have the same problem with
misoriented faces. i found the option to turn on and
off backface culling in mayavi.
1. select the "surfacemap" module click on "configure"
2. in the configure window, select show pipeline, expand
the tree and doubleclick actor-property
3. turn on frontface culling and "apply"
Followed your instructions and I get the same problem.
great! i feel a bit less crazy now :-)
actually, i just found the "bug"
in meshes/numMesh/mesh.py, _getOrderedCellVertexIDs had
been commented out and replaced with a call to getCellVertexIDs
which doesn't return the correct order. uncommenting this results
in the correct ordering being exported to mayaviviewer.
If I am right (fipy has no problem), then this is a display issue to do with
fipy talking to mayavi (mayavi knows nothing about oriented face normals,
it uses vertex ordering to determine normals). If we can solve
this by flipping a switch in mayavi then I think that is a good solution. We
may not be using mayavi (if matplotlib
has a 3D capability) in the future so fixing this may not be a good
investment of time.
i've played with a variety of geometry viewers over the last
couple years. without exception, they have all required that
the faces be specified by listing the verticies in order with respect
to the surface normal as rendering pipelines tend to use the
same cross-product as this bit of code:
fipy/meshes/numMesh/mesh._calcFaceNormals()
so it's probably worth keeping track of orientations.
thanks for your help.
regards,
charless