- malformed nmeshes could crash Blender with a sigsegv. Related to old
behavior that accepted "faces" with one or two verts.
- removing unused var (store_edges) + doc update.
Image.New(name, w,h,depth)
Image.start- for animtex
Image.end - for animtex
Image.speed - for animtex
Image.packed - read only bool
See the pydocs for details.
Previously the only way to get the current image was flaky and relyd on the image being assigned to a mesh.
try:
me = Scene.GetCurrent().getAttiveObject().getData(mesh=1)
image = me.faces[me.activeFace].image
except:
image = None
...Can new be replaced by the following, and works even when there is no mesh.
image = Image.GetCurrent()
epydocs:
Get the currently displayed Image from Blenders UV/Image window.
When multiple images are displayed, the last active UV/Image windows image is used.
incorrectly, including wrapping curve data as BezTriples. Needed to
make a change to beztriple module so we could more easily create a
"thick" BezTriple object similar to Blender.BezTriple.New().
The change to BezTriple.h pointed out some dead code in the Ipocurve
module that could be removed.
Textbuttons now allow a selection too (like any textbutton in other UIs).
By default, on activating a textbutton, the entire button text is selected
when you enter the button. A single arrowkey or LMB click reveils the
cursor then. Here's more user notes:
LMB click: If inside the button, places the text cursor at the clicked
position. If outside the button, confirms/finishes editing
LMB drag: Selects the text between the start and end point of the drag.
Backspace: Deletes selected text, or backspaces a character
Shift Backspace: Deletes all, as before.
Delete: Deletes selected text or forward deletes a character
Shift LeftArrow: Extends the selection left
Shift RightArrow: Extends the selection right
LeftArrow: If there's a selection, move the cursor to the left edge of the
selection, otherwise move the cursor left a character.
RightArrow: If there's a selection, move the cursor to the right edge of
the selection, otherwise move the cursor right a character.
UpArrow/Home: Move the cursor to the beginning of the line
DownArrow/End: Move the cursor to the end of the line
Ctrl Left arrow and Ctrl Right arrow to jump between directory separators
us.id when objects were destroyed but not always incrementing when
created. The intent of modifying us.id is to make Python a "user" of the
data so it persists even when it is deleted from Blenders UI. The original
commit was unintentional but Ton thought the idea was OK.
- update for the old mathutils rewrite
- update for some other methods ive added
- added explaination of wrapped data
- added a .css file for epydoc gives nice blender/python colors :?
-- calling mesh.getFromObject(obj) with mesh object now also
copies material properties
-- mesh.quadToTriangle() takes a parameter to duplicate both
Ctrl-TKEY and Shift-Ctrl-TKEY actions
-- assigning None to mesh.verts "clears" the memory allocated
to the mesh (equivalent of Mesh.New(), but on an existing
mesh)
-- exception handler message for mesh.faces[i].uv = [..] more
clear (uv attribute only accepts tuple, not list)
-- fixed bug for meshs with deformed verts when deleting verts
(deformed verts deleted and repacked correctly now, I think)
bug #3367 reported by Chris Want (thanks): ob.mat documentation was
wrong (was not updated); that attribute returns the world space matrix,
not the local one.
remaining effect type, it didn't make much sense to leave things
implemented in two separate files. Changes include:
* two bug fixes (the getChild() and getMat() methods were using floats
instead of shorts)
* performing clamping on input values
* implementing attributes using tp_getset
* merging Effect and Particle functions: the Particle module exists in
name only, with the Particle.New() and Particle.Get() functions
remaining for backward compatibility (they are in fact identical to
Effect.New() and Effect.Get() functions)
* update of doc/Effect.py (including remove all old references to wave
and build effects)
- added faces.uvSel attribute: can get/set selection status of UV vertices in
UV Editor window
- make mesh.faceUV, mesh.vertexUV and mesh.vertexColor writable: users
can now enable/disable UV faces, vertex colors, "sticky" vertices
- fixed bug with mesh tool methods: before it would only work if an object
linked to the mesh was selected
- added mesh.quadToTriangle() and mesh.triangleToQuad() methods
- added selected() method to verts, edges, faces; returns list of indices
of selected items
- mesh.getFromObject() now gets derived mesh data
- ported vertex group methods from NMesh (required change to Object.c)
- ported module dictionaries from NMesh
- new methods from NMesh (transform, getFromObject, findEdges)
- new methods for deleting groups of verts, edges and faces
- new methods for accessing mesh editing tools: fill, flipNormals,
recalcNormals, remDoubles, smooth, subdivide, toSphere
- Added PVertType to Types module (not my favorite name; any suggestions?)
A large chunk of documentation goodness from Campbell Barton (ideasman).
Thanks!
Note that any mispellings, errors, or inconsistencies are due to
my ham-fisted editing.
- implemented slice operations (get/set) for vertex list; allows script
writers to manipulate lists of vertices (using 'thick' vertices)
- fixed problem in mesh.faces.extend() which allowed the creation of
"Eeekadoodle" faces
- added mesh.update() method; (possibly) temporary fix to allow updating DAG
Changed Object.link() to allow link objects with both BPython-type meshes
Changed Object.getData() to allow retrieving both types of BPython-type meshes
Added new mesh types to Types module
- #2781, reported by Ed Blake: crash on undo when there were active space handlers. Space Handler script links belong to screen areas, which do not get saved on undo. Thanks Ton for pointing out the function that restores ui pointers gone bad.
- Applied patch #2822 by Ken Hughes for bug #2647 ("Setting a Face UV"), reported by Campbell Barton.
- #3022, reported by Timothy Wakeham: "Blender.BGL.glDrawPixels crashes when drawing more pixels then buffer size". Made glDrawPixels check buffer dimensions.
- #2882, reported by Campbell: crash in nmesh.getMaterials(arg == 0 or 1) when nmesh came from GetRawFromMesh(). Raw nmeshes are not linked to Blender meshes, so the method doesn't support these options (getting mat info from the actual mesh) for it.
- #2817, reported by Tod Koeckeritz: Dir_Depth var was not being decremented in BPY_Menus.c, causing dir depth limits to be reached prematurely.
- #2954, reported by Daniel Holtz: "Python scripts crash hard with valid windows paths". Blender.Load() was not meant for background mode, now it's been update to support it, using BKE_read_file instead of BIF_read_file in this case. Also found another issue with command line scripts using Blender.Load() that could crash Blender: trying to free the Text when it wasn't available anymore (loading a new .blend already removed it). There are still issues with one case, though, causing a crash on start or "Memoryblock winopen: double free" at end, when running a script that is already a Blender Text (only if the script calls Blender.Load, of course). Will investigate.
- #2897: reported by Timothy Wakeham: object.setMaterials was asking the length of a Python list w/o confirming first if the passed obj was really a list.
Thanks all for the help and for being patient (long delay, again).