using mface->flag for both.
Also found that the cdDM_drawMappedFaces and cdDM_drawFacesTex_common could get normals mixed up when rendering hidden faces. because hidden/invisible faces used continue without advancing to the next normal.
* Added a keyword argument to mesh.transform() - "selected_only" so you can transform the selected verts. this wont break existing scripts.
* Documented these changes in epydocs.
* used these functions in BPyAddMesh
import OBJ dosnt raise a Py Error when no image is given for a material
export FBX works much better, tested 179 models and dosnt crash on any now. tested import export with large scene, 375,000 tri's.
Mesh.py doc note about UV coords,,
editmesh_add minor typo
* moved from NMesh to Mesh
* made newstyle classes (use less memory)
* optimized mesh creation
* Animation now imports and plays (Bugfix for 5834)
+ other small tweaks
Added mesh.key - was missing from docs
Can only change levels and values at the moment. adding and removing is still needed.
multires: bool
multiresLevelCount: int
multiresDrawLevel: int
multiresEdgeLevel: int
multiresPinLevel: int
multiresRenderLevel: int
Updated Python Mesh API to support UV and Color layers with names.
Similar to vertex group's
renamed a function in customdata.c CustomData_free_layers -> CustomData_free_layers_active and made CustomData_free_layers accept an index, this is needed so python could free layers that arnt active.
----------
Bugfix/enhancement: allow image of mesh's UV faces to be removed/cleared by
"del f.image" or "f.image = None", and handle image user counts correctly
when assigning/clearing images.
added python api stuff to deal with Color and UV/Image layers.
me.activeUvLayer - int
me.activeColorLayer - int
me.totUvLayers - int
me.totColorLayers - int
me.addUvLayer()
me.addColorLayer()
me.removeUvLayer()
me.removeColorLayer()
Variable names may need changing.
The epydocs are now updated to have idproperties;
all the modules that have bindings for ID properties
now has docs for them. E.g Materials have a .properties
members, Image, Texture, Scene, Object, NMEsh, and Mesh.
I realized that .properties was already taken in
Objects, so I renamed it to .idproperties. There was
also a nasty little problem with an example inside
Object.getType; the entire example was being pasted inside
the return field. I fixed it by just moving the return
definition to after the example, like it should be.
Added Mesh .key .removeAllKeys() and .insertKey() for MDD support (was using NMesh just for keys before)
Since this is aparently an experemental feature in NMesh we may want to change this.
exactly the same as mesh_create_derived_render(ob) except it uses the view modifier settings.
Added an optional arg to getFromObject to 'render' so you can choose to get the mesh displayed in the 3d view or generate one with render settings.
Solved bug 4612 getFromObject now works with soft body meshes (error was caused by getting the derived mesh from a copy of the object)
removed workaround for softbody bug in object_apply_def.py
New keyword parameters for Mesh.faces.extend() method:
* ignoreDups: turns off checks for duplicate faces in the input list and
existing mesh faces. Intended for constructing new meshes where the
faces are known to be unique.
* indexList: makes the method return a list of new faces indices, which
can be used to index new faces to add other attributes like color. If
duplicate faces are removed, None is placed in their list slot.
fixed some other UI logic in the python menu script
Added an option to use a vertex group for a reduction weight map to force reducing some areas more then others.
Mesh epydocs activeGroups can be None as well as string.
A problem with the current flag seting in Mesh is that Mesh needs to know of all possible flags or setting a flag can raise an error from the faces own unrecognezed flag.
also stopped the active face flag raising an error so pythoners can do face1.flag |= face2.flag without checking for active face flags. if the flag is a part of the arg its removed quietly.
Checked Mesh flags, face modes and edge flags, should all be ok now.
Something to try making import/export script writers happy; Mesh.New() will
not create a new Blender mesh datablock unless the mesh is linked to an
object.
Make me.faces.sel and me.edges.sel behave like EM_select_face() and
EM_select_edge() in source/blender/src/editmesh_lib.c.
Script users should note that if they change ANY of the selection states
(vertex, edge, face) and then call a mesh "tool" method (like me.remDoubles)
that the selection states of the mesh MAY change, since these tools use the
edit mode (which updates select states).