Commit Graph

292 Commits

Author SHA1 Message Date
Joseph Gilbert
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
Willian Padovani Germano
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
Daniel Dunbar
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
Daniel Dunbar
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
Joseph Gilbert
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
Willian Padovani Germano
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
Joseph Gilbert
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
Willian Padovani Germano
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
Willian Padovani Germano
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
Willian Padovani Germano
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
Willian Padovani Germano
fb4f255c15 BPython:
- Scripts that ended without an [eol] (end of line char) would give syntax errors when called from menus.
  Now all loaded menu scripts have '\\n\\0' appended to them, not only '\\0' as before.

- bug #1146: Kester reported a Valgrind warning, should be fixed now.
2004-04-19 10:19:41 +00:00
Joseph Gilbert
f490be9b59 -update to SCONS project for NLA module 2004-04-19 07:11:00 +00:00
Joseph Gilbert
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
Joseph Gilbert
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
Willian Padovani Germano
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
Joseph Gilbert
3c28f2f917 - Armature documentation update 2004-04-06 01:01:34 +00:00
Joseph Gilbert
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
Joseph Gilbert
381605be7d - documentation for armature/bone methods update 2004-04-05 04:17:46 +00:00
Joseph Gilbert
136b66c19f - getBones() fixed - returns all armature bones including children 2004-04-05 04:17:01 +00:00
Joseph Gilbert
32b0677d96 - added support for adding/parenting bones to armatures
- fixed getArmatureIpo compiling error
2004-04-04 08:34:43 +00:00
Michel Selten
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
Stephen Swaney
4a2efa7acf add missing comma 2004-04-03 15:10:17 +00:00
Ton Roosendaal
e331b395b0 and the sconscriptstructthingemabobs! 2004-04-03 14:07:30 +00:00
Ton Roosendaal
07cd0ac910 - oh, the new C file! 2004-04-03 14:01:13 +00:00
Ton Roosendaal
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
Michel Selten
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
Michel Selten
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
Michel Selten
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
Kester Maddock
594040f769 Allow C++ linkage for the python module. 2004-04-02 13:18:54 +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
Willian Padovani Germano
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
Daniel Dunbar
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
Stephen Swaney
29baa5026e add info about units for rotation IPOs and Object Euler angles. 2004-03-25 06:18:56 +00:00
Joseph Gilbert
e418052d85 - bugfix for texture types
- fix supplied by alex mole
2004-03-24 23:43:56 +00:00
Joseph Gilbert
9acb3c8ff0 - bugfix for 1078
- slider crashes blender because of redraw commands - fixed
- styken reported/fixed this bug
2004-03-23 03:07:41 +00:00
Daniel Dunbar
aedf456938 - split the data structures that actually constitute a mesh
(MVert,MFace,etc) off into DNA_meshdata_types.h, to isolate areas
    of source that actually edit mesh *data* vs. areas that just edit
    mesh object information.
2004-03-20 22:55:42 +00:00
Joseph Gilbert
1f61dc31da - rendering documentation adding for the python scene module 2004-03-18 11:57:05 +00:00
Joseph Gilbert
127e57d983 -bug fix: matrix_item callback now returns rows from a matrix as in previous API implementation (exmple: ob.getMatrix()[0]) 2004-03-15 00:43:38 +00:00
Daniel Dunbar
807db2ea40 - redundant code killing for MFaceInt removal 2004-03-14 21:21:08 +00:00
Chris Want
dd3c9c0c46 Removed the struct MFaceInt from DNA_mesh_types.h (by the recommendation
of zr). This struct was never written to file and the new 'int based'
MFace can be used in it's place. Some removal of redundant code could
perhaps be done now (I didn't do any though, just "s/MFaceInt/MFace/").
2004-03-14 21:00:51 +00:00
Joseph Gilbert
d99a49593d -update to sconscript for render module 2004-03-14 02:07:30 +00:00
Joseph Gilbert
c0966e309b - new files sceneRender.c/.h
- added new rendering module as part of the existing scene module
- support for individual scene rendering
- support for yafray rendering
2004-03-14 02:06:57 +00:00
Joseph Gilbert
7e5f2c2457 - fixed a few setattr calls to use tuple parsing
- bug reported by Alfredo de Greef
2004-03-11 12:23:53 +00:00