Commit Graph

998 Commits

Author SHA1 Message Date
fadaa2fbe9 From kh_pylon:
You have to put Py_RETURN_NONE; inside { }; it's a two-line macro
Aparently breaks MacOS.
2005-12-13 00:27:10 +00:00
d73e312f88 Added Image.GetCurrent()
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.
2005-12-13 00:00:11 +00:00
540e5bb77d *Armature api documentation 2005-12-12 20:12:50 +00:00
9ae9527c51 - Armature/Bone API for python
* this resolves a number of outstanding issues with the armature api and gets this ready for release
- add/remove bones possible
- rolls work correctly now!
- ik'ing to parent should work
- flags for tip/root/bone selection
- etc.
2005-12-12 18:46:26 +00:00
c452e8672c Rewrote TimeLine_getFramesMarked func with better coding
.
2005-12-12 11:57:58 +00:00
7daa8d0bca Sunday merger of orange branch with bf-blender 2005-12-11 23:04:27 +00:00
e0d20e00ce Added some details in the Mathutils documentation. 2005-12-11 04:20:37 +00:00
Ken Hughes
76e7905736 -- Bugfix #3573: Deleting a scriptlink when some other scriptlinks were no
longer linked to a script would cause a crash.  We now delete all
   scriptlinks which are not linked.
2005-12-10 19:36:05 +00:00
Ken Hughes
080eb9b3fa -- Bugfix #3564: Texture.getImage() always returned None for Env maps, even if
an image was assigned.
2005-12-09 23:19:00 +00:00
7b2f1d4776 change return of getMarked method for dict {framnum:['nameframe']}
.
2005-12-09 15:00:54 +00:00
Ken Hughes
e67360cb97 Made Mesh verts/edges/faces hashable (as they were in NMesh); this will
make it easier for some scripts to be converted.
2005-12-07 21:12:33 +00:00
5b71510ecf A patch from Ken Hughes per request of Bassam here at Orange: Python access to armature visibility layers. 2005-12-07 19:36:01 +00:00
1123be1bcc Orange request; Bones in Armature now have own layer settings.
Works like for Object layers, but local within Armature itself. Each Bone
can be in (16 now) any layer, and the Armature layer defines what is
visible or not. Also note that hiding will still work too.

Since the Blender code is *stuffed* with Bone options now, this commit
requires a good test if all tools we got now comply to layers...
(I counted 130 cases for checking for selected Bones in code!)

In PoseMode; hotkey M will show 'movetolayer' menu. Not in editmode...
then its the mirror menu.

Todo: make action/nla drawing comply to Armature layer settings.
2005-12-07 12:36:26 +00:00
Ken Hughes
b02ff5f2a2 -- Bugfix #3551: fix memory corruption problem if Text3d.setText() called
while selected text is in edit mode.

(Future note: now that there is Unicode support in Blender, we need to add
support for it in the BPy Text3d API.)
2005-12-07 05:44:29 +00:00
Ken Hughes
39ca3e3fa4 -- Bugfix #3548: material.setMode() was doing incorrect range check on
inputs, returned error setting RAYMIRROR or RAYTRANSP modes.
2005-12-06 17:08:09 +00:00
Ken Hughes
1aebee2f9e More corrections and additions to Ipo and IpoCurve documentation. 2005-12-06 06:16:10 +00:00
Ken Hughes
569f9de63c Added some extra parameter checking in Ipo driver code. 2005-12-06 05:42:23 +00:00
Ken Hughes
1a2ac4e64d -- Bugfix #3072: As discussed on IRC, matrix.invert() should throw a
ValueError exception if matrix is singular.
2005-12-05 19:57:23 +00:00
Ken Hughes
e209676d3d -- Bugfix 3453: coercion operations were doing an extra incref on coerced
objects.  Also found extra increfs on some newly-created quat and matrix
   objects, from calls to Matrix_Identity() and Quaternion_Identity().
2005-12-05 19:02:30 +00:00
Ken Hughes
bf05bbef86 Fix unchecked parameter in M_Ipo_Recalc, and some documentation fixes. 2005-12-05 05:23:35 +00:00
Ken Hughes
00ce7c629f -- remove unused variable "dict" which was giving compiler warnings. 2005-12-05 01:07:24 +00:00
Ken Hughes
beb80aa609 -- Fix segfault when callign Blender.Armature.Get() with no parameters 2005-12-04 20:39:56 +00:00
5b9e85f0a2 Just one more useful commit from Desoto: added a newline to the end
of the file. Hold the applause please.
2005-12-03 00:52:51 +00:00
Ken Hughes
9588cfdffe Small changes to API docs on curves and space handlers explanations. 2005-12-02 21:25:30 +00:00
Ken Hughes
8a7242ff16 -- Bugfix #3139: Blender.Library.Open() was changing current .blend
filename.  We now save and restore file before opening library.
2005-12-01 05:30:15 +00:00
Ken Hughes
95e94b4630 Make curnurb.flagU and curnurb.flagV range check their inputs, plus make
the documentation correctly describe how the attributes and methods work.
2005-12-01 04:50:04 +00:00
Ken Hughes
22188fba21 -- previous commit was decrefing a borrowed reference; thanks Ascotan for
tracking this down!
2005-11-30 20:18:54 +00:00
Ken Hughes
b7a4a6c837 -- Bugfix #3186: Fix memory leaks caused by multiple calls to
PyDict_SetItemString() with objects that were not properly decrefed
   afterwards.  Due to the number of places this was used, I added a
   wrapper EXPP_dict_set_item_str() to gen_utils.c to handle it.

   This started as a scriptlink bug, due to how many times scripts were
   being executed I think it just magnified how bad the memory leak in
   BPy was.  Animating the blend attached with this bug report would cause
   memory to grow by about 3MB for every 280 frames.  After the patch,
   memory did not appear to grow at all (or at least not noticably using
   Unix's ps and top utils).

   Since many of the PyDict_SetItemString() calls were in initialization
   modules I think my tests executed most of the changed code, but would
   appreciate script users really giving feedback.
2005-11-30 08:18:06 +00:00
Ken Hughes
00f4310970 -- Bugfix #2868: NMesh.update(0,0,1) with derived mesh data would cause a
crash.  Hopefully the NMesh module will die a silent death before we
   discovere this doesn't really fix the problem :-)
2005-11-29 23:38:40 +00:00
65ce2c2cee * warnings fixes 2005-11-29 05:08:29 +00:00
Ken Hughes
0ae3fe59a3 -- Partial bugfix for #3186. curve.getControlPoint() wasn't DECREF-ing
values added to a list, causing a memory leak.
2005-11-29 01:35:45 +00:00
Ken Hughes
c0e94f3063 Fix incorrect documentation for Window.QTest(). 2005-11-28 22:49:59 +00:00
Ken Hughes
427cae9eeb -- Fix bugs caused (by me) by incorrect use of Py_RETURN_NONE macro in
"if" statements.  The macro defined in gen_utils.h expands to two
   statements; putting after an "if" statement without {} means the second
   statement should always be executed.  I'm not sure if just putting
   braces around both statements would cause other compilers to complain.
   But this explains an earlier bug in the Object module which only
   appeared on MacOS/X.
2005-11-28 05:21:25 +00:00
Ken Hughes
b2e32f5bd1 -- Bugfix #3458: keyblock.getData() was getting vertex data from keys
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.
2005-11-28 05:03:26 +00:00
Ken Hughes
ea1df5652d -- bugfix: me.subdivide() was declared NOARGS but was expecting an arg,
causing a segfault.  Thanks to Cam for catching it.
2005-11-27 23:15:39 +00:00
Stephen Swaney
bc293ba7e1 patch #3475 for bug #2867 Object.makeParent with noninverse doesn't clear parentinv matrix
Contributed by Stephane SOPPERA (soppera).  Thanks!
2005-11-27 01:42:46 +00:00
Stephen Swaney
51e70835cc patch #2869 MTex module additions
contributed by Yehoshua Sapir (sapir)

adds attributes to MTex module.  adds module constants.
Uses new style tp_getset.
2005-11-26 02:10:42 +00:00
Chris Want
fde3718843 While looking at the python Lattice code for a bug, I instead found
what must clearly be a typo ... an 's_z' where an 's_y' should be
-- python Lattice module owner please check!
2005-11-23 23:43:02 +00:00
622f914776 New stuff & fixes in Blender OSA filtering.
While investigating alternative filters (Mitchell), I found two small
errors in the Gauss code, it clipped wrong and multiplied wrong, causing
settings other than filter size 1.0 to not work properly.

Took the last-minute liberty to add more filter types in Blender too.
Also wrote an extensive log about how sampling & filtering in Blender
works.

http://www.blender3d.org/cms/Samples_and_Filtering.723.0.html
2005-11-23 15:20:45 +00:00
9664b7924f - accidentally removed a macro for returning Py_None for python 2.3 2005-11-22 19:34:28 +00:00
fe29a3c64b A few more python 2.4 macros to covert to 2.3 compatible code. 2005-11-22 19:23:26 +00:00
d9a4559335 Little bit of testing code snuck in there. 2005-11-22 19:14:10 +00:00
3489fdcd06 Fix for a python boolean macro that shouldn't be there. 2005-11-22 19:12:46 +00:00
b63e26e109 Added some equvalency tests for the other math objects
* ==, != are defined for matrix, quat, euler.
2005-11-22 17:59:49 +00:00
af2042d219 new attempt at the pyboolean macro, 'cause that style did not work in one line if/elses - this one is from the py 2.4 boolops headers. 2005-11-22 11:25:23 +00:00
3caeea233d trying to fix new armature compile probs on macs (w/ py 2.3 probably) by adding the 2.4 macros for returning python booleans. 2005-11-22 11:18:34 +00:00
280375ab2c - editng options for armature added to AramtureType 2005-11-21 22:21:46 +00:00
838fb77159 - drawtypes added to ArmatureType
* uses module constants added to Armature.c
2005-11-21 21:26:09 +00:00
ac80b4ba11 * added some display options to the ArmatureType class 2005-11-21 20:54:29 +00:00
4d7ca2931c * adds deformation properties to armatureType 2005-11-21 20:22:08 +00:00