Commit Graph

281 Commits

Author SHA1 Message Date
Stephen Swaney
474ec217ae new Object.select() and Object.isSelected() methods to manipulate the
selection state of Objects.
Contributed by Campbell Barton.
2004-06-02 06:19:56 +00:00
Stephen Swaney
05e76c22b0 bugfix: #1322 minor tweaks to the documentation for Draw module.
Blender.Draw.Button() was not showing up.  Seems to be an epydoc
issue with Button() being both a module method and the name of a class.
I changed Button to Button_ and added a usage note.
Yes, this is lame.
2004-05-25 19:59:41 +00:00
5e3a9c092a Changed parameters names in addCurve function (suggested by Paolo)
DLoc* --> dLoc*
DRot* --> dRot*
DSize* --> dSize*
updated doc (Ipo.py)
2004-05-25 19:31:13 +00:00
8a64e0e867 BPython:
- Campbell Barton contributed another function (thanks again), the Image.reload method:
  with this a script can keep an image that is being edited and saved by an external program updated in Blender.
2004-05-25 10:36:58 +00:00
779d0d0221 - documentation update for new functions
- error corrections in NLA about dictionaries
2004-05-25 03:26:29 +00:00
1308786974 - added Boneclass support
- ability to get a bonespace/worldspace bone matrix
- get ik flag
- some tweaking to matrix updates for addBone()
2004-05-25 02:48:02 +00:00
7f6b88e389 BPython:
- updated docs with recently added functions
- dynamic menu entries now are sorted (alphabetically, of course)
- added new menu categories for scripts: Wizards, Modifiers, Generators, Materials, Animation:
  only added to list of options, didn't mess with any Blender header.  They are already available from the "Scripts" menu in the scripts win, but not elsewhere.
- added option 'datadir' to Blender.Get(option):
  so scripts can use .blender/bpydata for reading / writing their data files.
2004-05-22 20:25:22 +00:00
Stephen Swaney
8391f0c337 add some explanation about Object.Layer being a bitmask. 2004-05-20 07:21:07 +00:00
Stephen Swaney
2124168e21 removed unused var in Object.getBoundBox()
bugfix: #1212 changing object's layer had no effect.
2004-05-20 06:26:43 +00:00
1ff3066a9a BPython:
-- Added two new functions to the Draw module, to display int and float popup buttons:
    Both contributed by Campbell Barton, thanks!
-- Fixed a couple warnings.
2004-05-19 01:28:12 +00:00
022bff122f BPython:
- Finally added Blender.Load function for loading .blend files, useful for demos, for example.
- Moved data from Blender.h to Blender.c.  We'll keep doing this where it applies and someday remove all unused files at once.
2004-05-18 03:23:45 +00:00
Stephen Swaney
ae20f7a95e bugfix: #1206 Object.getBoundBox() was returning obdata coordinates.
fix memory leak in vector module.  Memory allocated by vector constructor
was not being freed.
2004-05-15 23:10:37 +00:00
b4ecf7d973 - added setBorder() to renderingContext to set border render rects from python.
- updated sizePreset() to deal with borders.
2004-05-15 14:32:21 +00:00
23637ccdd7 - bugfix #998 Object matrix incorrect
- object's matrix is not updated until redraw. pymatrix returned is updated to reflect current variables.
2004-05-15 03:09:27 +00:00
d00ad69b06 - spelling error and example fix 2004-05-15 03:02:11 +00:00
Stephen Swaney
e80a814360 bugfix from bpy mail list:
Object.setEuler() was not accepting old style args of 3 floats.
2004-05-12 08:06:15 +00:00
f141aed9dc - bugfix #1197 (New Bone.parent/child Access Destructive)
- a major redo of the Bone module
- BPy_Bone structs are separated into Bone data and python vars. This is necessary for the correct memory allocation of bone data between python and the global armature list.
2004-05-11 08:26:44 +00:00
fe89479036 BPython:
- Manuel from MakeHuman reported a memory leak in NMesh_getVertsFromGroup, should be fixed now.  A pylist was not being decref'ed.
2004-05-09 02:18:51 +00:00
f54160ca2f - PyInt_AsLong() was called on a possibly NULL object, this may be
a checked error but is no good anyway
 - Bone_dealloc free'd Blender's actual copy of the Bone! AGH!!!!
 - On syntax errors the python global dictionary was being free'd
    twice. AGH!!! again!

Can someone from the Python team please audit this.
2004-05-05 03:22:22 +00:00
c80ec7b808 - fix silly scriptlink running code, pulled out convenient
ID_asPyObject and ID_getScriptlinks functions,
	moved code into BPY_interface.c (where it fit better)
 - EXPP_interface.c is essentially obselete now
 - I didn't test this, I'm sure I broke something, if a Pythonista
	could comment that would be nice (oh and the maintainer too).
2004-05-04 14:27:41 +00:00
5a4e574b81 - Documentation for the new python API 2004-05-02 14:29:31 +00:00
Stephen Swaney
2609a608bb fix for #1123 by Roland Hess (harkyman)
Testing has not convinced me this is a complete solution to the
Ipo Curve handle issue, but it does seem to make things
better for curves created via python.  We will probably need to revisit
this, especially if we expose the curve handles in the bpy interface.
2004-04-29 04:50:28 +00:00
Stephen Swaney
1e75dbc0a1 bump version number 2004-04-29 01:56:55 +00:00
Stephen Swaney
0e156156b1 bugfix: Ipo.addCurve() was creating a new Ipo block and adding curve there
instead of adding curve to existing Ipo.  reported on elysiun.
2004-04-26 17:21:51 +00:00
2d24298b91 BPython:
-- epydoc Documentation for eeshlo's Noise module + small typo fix in Noise.c
-- BPY_end_python closes .blend file opened by Library module when script doesn't do it by itself.
2004-04-25 14:43:21 +00:00
395c1152c8 - finalize scene.render module
- added some constants for the rendering module to blender module
- moved rendering functions from scene to scene.render
- rendering functions called from renderData struct instead of from scene directly
- getRenderingContext() returns rendering data struct
- deprecation of old scene functions
- some formatting/documentation of code
2004-04-25 05:18:43 +00:00
382297b687 BPython:
- New module + doc: Blender.Library:
  It's like File->Append, loads datablocks from .blend files.
- small updates to fix warnings and accomodate for the new module, in readfile.[ch]
- New Blender.sys module function: time, a wrapper of the PIL get time function.
- Updated original makefile and scons builds.
2004-04-24 20:04:37 +00:00
abe8191d70 BPython:
- fixed two warnings, unused var in Object.c and undeclared function in script.c
- updated Blender.Draw doc, it was missing info about Button object
- refactored pytype initialization to try to fix for once platform (and distro!) specific crashes on startup.  This asked for tiny updates in Effect.[ch] (removed static from declaration, moved definitions to the .c file) and modules.h
- fixed error I made trying to fix scripts w/ no [eol] char in menus.  Thanks Michael Velikanje for reporting the problem!
2004-04-23 13:11:48 +00:00
ebd762b5e7 BPython:
- Michel's linux test builds with Python 2.3.x were crashing.  This of course shouldn't happen even when Python isn't installed in the system.  The problem was much probably some uninitialized internal type needed by the Mathutils module and the "fix" is stupid.

Moving the registration of Mathutils module in Blender.c to the end of the list solves the crash here.
2004-04-21 14:24:59 +00:00
a6a32cf504 -NLA module added
-ability to set poses for the armatures - allows for keyframing armatures
-adds support for actions/actionchannels
-additional checking for addBone and clear parenting
-moved getActionIpos from object module to NLA module
2004-04-19 06:57:41 +00:00
e2bed35011 - parenting checks for bone additions to armature
- update to addBone parenting transform code
- hide/unhide bones
- draw axes/draw names
- clear parenting and clear children from bones - removes childbase links from bone and set as root or remove parenting and set as root
2004-04-14 23:42:58 +00:00
149fad4be6 BPython: cleaning some bug tracker entries:
(excuse me for doing all in a single commit, but they are tiny
fixes and it's bpython, that dark corner ...)

#1025 - FileSelector SEGV on dynamic callback Category:

  Can't reproduce with current cvs, I'd say recent changes to fix
another crash related to FileSelector in gui-less scripts solved this
one, too.

#1028 - Reserved button event number:

  Menu choices generate two events, one extra related to the menu
itself, with value=4.  Made bpython ignore this extra event.

#1068 - FileSelector No file extension support:

  As Ton wrote there, Blender itself doesn't support this yet.  But the
requester also wanted Window.File/ImageSelector to accept a pathname.  Done.  Also updated doc.

#959 - Segfault on background rendering:

  This happened in bg mode (blender -b filename -a, for example) when
a script with the line "Blender.Redraw()" was linked to FRAMECHANGED events.  As reported in the bug page, it was because curarea is NULL in bg mode.  Made Redraw() check for this and not call functions that expected curarea in Redraw, like one to swap buffers.

#1072 - Blender.Redraw() Segfault:

  Good catch : ). Scripts called from the scripts win that called
Blender.Redraw() or Blender.Window.Redraw() would crash Blender because of a dirty pointer in Spacescript->script.  Fixed.
2004-04-11 04:41:33 +00:00
Stephen Swaney
9cabf31ebc fix for bug #1115
This was a problem with the BezTriple type.
Write access to BezTriple via 'pt' member did not work.

Preferred method to access BPy type members, especially for
write access, is via get*/set* methods.

BezTriple.setPoints() will accept x,y coordinates as either
a tuple or a list.

Updated BezTriple section of Ipo module doc.
2004-04-07 22:42:02 +00:00
Stephen Swaney
c1e33eb1e7 fix for bug 1110.
Updated epydoc.  Function name is BezTriple.getTriple().
Set prototype to NOARGS in source.
2004-04-06 21:13:12 +00:00
3c28f2f917 - Armature documentation update 2004-04-06 01:01:34 +00:00
2410de683f - quaternion support for bone type
- get/set bone weighting
2004-04-06 01:01:11 +00:00
Stephen Swaney
bc060ca26f remove 6 trillion warnings about missing initializers. 2004-04-05 16:50:08 +00:00
381605be7d - documentation for armature/bone methods update 2004-04-05 04:17:46 +00:00
136b66c19f - getBones() fixed - returns all armature bones including children 2004-04-05 04:17:01 +00:00
32b0677d96 - added support for adding/parenting bones to armatures
- fixed getArmatureIpo compiling error
2004-04-04 08:34:43 +00:00
141b7673c9 Python API update. Again by Anders Nilsson.
* Addition to the Object module.
  obj.getActionIpos(). This method will return a dict with all ipo keys.
  Only works when the Object is an armature.
2004-04-03 20:24:46 +00:00
07cd0ac910 - oh, the new C file! 2004-04-03 14:01:13 +00:00
0ae03d1626 Eesho's patch for new noise textures!
Basically this provides three new things:

1. Choice of a list of noise-base functions, which can be used by the
   current Clouds, Marble, Wood textures as well.
2. Three new texture types: Musgrave, Voronoi and DistortedNoise
3. Python access to noise functions (not for render!)

All of this together makes Blender's builtin procedural textures a LOT
more powerful. Here again, a full webpage should be made to show off all
possibilities, and explain some of the more scientific names for settings.

A good read on Musgrave textures can be found here:
http://www.ypoart.com/Downloads/Musgrave.htm
About Voronoi:
http://www.ypoart.com/Downloads/Worley.htm
I can't find official DistortedNoise docs easily... maybe its something
Eeshlo created himself.

I've spent some time to change the patch Eeshlo provided. Worth noting:
- created main texture "Musgrave" with 5 sub choices (instead of 5 new
  main textures)
- added for all new textures the option to scale (zoom in out)
- added patch in do_versions to initialize variables

I hope the Python team will check on the Noise.c API. And include in docs!
2004-04-03 13:59:27 +00:00
ce9a3d0b46 Bug fix provided by Anders Nilssen.
TotIpo was never meant to be exposed in the Ipocurve object. It's a variable
to store the number of IPOs.
2004-04-02 20:26:58 +00:00
7707bceec3 Anders Nilsson has promissed me to provide some updated Python API docs :)
Python API documentation updates for the Object and Ipo modules.
Provided by Anders Nilsson (breakin)
2004-04-02 19:53:53 +00:00
7cc4d7525d Python API fixes. Provided by Anders Nilsson (breakin)
* Typo fixed in IpoCurve_getInterpolation.
  'Bonstant' was used, while 'Constant' is what we want.
* IpoCurve.getName now also returns curve names for action-IPOs.

* Update to the Object module:
  Added obj.getTimeOffset() and obj.setTimeOffset() methods

Anders Nilsson has promissed me to provide some updated Python API docs :)
2004-04-02 18:38:38 +00:00
Stephen Swaney
79ecc08b89 more housekeeping. move static declarations and definititions out of .h files.
tidy up initializers and  c++ style comments.
2004-03-31 07:40:08 +00:00
fa0196b8f9 BPython:
- tentative fix for scripts with CR/LF endings and split lines:
    in 2.32, the ac3d and vrml2 exporters, for example, had lines
    split with '\\\\' and so gave syntax errors when executed on Win
    platforms, because the scripts bundled with Win binaries had dos
    line endings.

- Chris Keith has written code to execute Python scripts from the
  command-line, with '-P ' switch: "blender -P filename":
    a Blender.Quit function was also added, so Blender can quit after
    running the script (end the script with Blender.Quit()), but there's
    still work to be done in this part, including adding more functions,
    to load / save .blend files and to run scripts.  More testing and
    discussions are necessary.

Thanks Chris, for both your contributions and your patience, since I
wasn't available to check / commit this for a while.
2004-03-31 04:18:39 +00:00
5d8a0fe8bc - change <bpy_types.h> to "bpy_types.h" 2004-03-29 13:59:55 +00:00
Stephen Swaney
f3feb77918 General housekeeping and cleanup. Move static declarations and
data definitions from .h files into corresponding .c files.
Blame zr for this since he's the one who pointed out that our
bpy headers were a mish-mash of stuff that belonged in the .c files!

In a nutshell, the headers should contain the declarations necessary
to use a module or class.  The implementation files ( .c in this case )
should contain statements that allocate storage ( definitions in
the C sense ) and executable code.

When used at file scope, the keyword 'static' means "don't tell
anyone else about this".  Since headers describe a public
interface, static declarations and definitions belong in the
implementation files.

The net result of all this is that after stuff has moved out
into the .c files, the .h files are empty or mostly empty.
I didn't delete them since there seem to be some public
declarations and because I did not want to cause too much
disruption at one time. Time enough for that later!
2004-03-29 08:16:18 +00:00