Commit Graph

356 Commits

Author SHA1 Message Date
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
Stephen Swaney
29baa5026e add info about units for rotation IPOs and Object Euler angles. 2004-03-25 06:18:56 +00:00
e418052d85 - bugfix for texture types
- fix supplied by alex mole
2004-03-24 23:43:56 +00:00
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
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
1f61dc31da - rendering documentation adding for the python scene module 2004-03-18 11:57:05 +00:00
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
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
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
7e5f2c2457 - fixed a few setattr calls to use tuple parsing
- bug reported by Alfredo de Greef
2004-03-11 12:23:53 +00:00
Stephen Swaney
7b5d3f183b Fix for bug# 986
Assigning a new value to a Button string did not resize the string buffer.
2004-03-06 10:35:15 +00:00
Stephen Swaney
811e144c6f Fix for bug #1014
In IpoCurve.addBezier() method, set handles of newly added point to type Auto.

Fix provided by Roland Hess (harkyman).
2004-03-05 08:20:18 +00:00
Stephen Swaney
83804a7173 Fix for Bug 1039
Changed doc to match the parameters for Ipo New() method.
Corrected error message for expected argument types in New() method.
2004-03-05 06:25:49 +00:00
Stephen Swaney
db9f9215cf Fix for Bug 1045.
Added more detail for method return types in various doc files.
Changed version number in epy_docgen.sh to BPY_API_232.
2004-03-05 05:50:50 +00:00
4d1f58ebd0 - set/get Euler works with the real thing now
- ability to set the object's matrix
2004-03-03 00:45:10 +00:00
056579b19c Documentation for mathutils. 2004-03-02 11:56:20 +00:00
b61a81ff9b Documentation for mathutils. 2004-03-02 11:44:06 +00:00
8f3a9815ba Mathutils library for the python API
- support for quaternions, euler, vector, matrix operations.
- euler supports unique rotation calculation
- new matrix memory construction and internal functions
- quaternion slerp and diff calculation
- 2d, 3d, 4d vector construction and handling
- full conversion support between types
- update to object/window to reflect to matrix type
- update to types/blender/module to reflect new module
2004-02-29 13:20:34 +00:00
8fbed941bc - Last minute script addition (blame / thank Theeth :) -- Theeth's UV Face export script.
- tiny harmless change in module Blender.Material's *doc*.

Aphex: tested your fix for windows (thank you -- and Bill Baxter for reporting):
  It doesn't break anything here (linux).  So probably no need for #ifdef's.
2004-01-30 04:27:28 +00:00
bdc624452b BPython:
-- fixing a last minute bug: scripts w/o guis that called the file selector were
   not being checked for errors, which could cause crash dumps upon exiting.
-- docs: updates for Draw (fixed example) and Material (added tex related methods docs)

Scripts:
-- added some more scripts, all I could get in shape in time (at least they export / import back).
   Only tested on linux.
2004-01-28 19:16:50 +00:00
259acf5f66 Python bug fix for #724
* Blender.Object.setDrawMode does not work. I had accidentally switched the
  variables for setDrawMode and setDrawType. This implied that _both_
  functions did not work correctly. The functions getDrawMode and getDrawType
  use the correct variables.
2004-01-25 17:58:24 +00:00
8eac9cef15 Python bug fix for #875
* Blender.Object.GetSelected() would crash when no 3d-view has been
  initialized at startup. Fixed.
2004-01-25 17:42:40 +00:00
23a3a51e16 Blender's debug mode only worked on startup:
- G.f's G_DEBUG flag was being erased in blenkernel/intern/blender.c's
  setup_app_data:

G.f= bfd->globalf

// added a line above it to fix this:

if (G.f & G_DEBUG) bfd->globalf |=G_DEBUG;
G.f= bfd->globalf;

BPython:
- debug info now only shown if Blender is started with '-d' option
- added ~/.blender/scripts to modules sys.path
- added two new functions to Blender.sys: basename and splitext
- added doc for Blender.sys, updated other docs
2004-01-23 19:24:45 +00:00
5d8c7e4537 BPython:
- local tentative fix for BLI_gethome(), which returns '.blender' appended only
    on some Windows systems.  Created bpymenu_gethome() to check and
    add '.blender' if needed.
- changed name: .Bpymenus to Bpymenus as suggested by GSR
- trivial additions:
    Object module: added methods .set/getSize
    Armature/Bone module: bone.set???() methods now accept both n
    floats or a list of n floats: fff or (fff).  All these additions were requested
    by user Carlos Lopez (Klopes).
- New doc: for module Registry.
2004-01-23 02:59:54 +00:00
1652884463 BPython:
-- removed struct Script (DNA_script_types.h) from makesdna to blender/include/BPI_script.h
   (BPI meaning Blender Python-related external Include file).
   Had agreed with Ton that makesdna was not the proper place for it.
-- fixed two small warnings in Ipo.c (variables might be used uninitialized)
-- fixed a bug reported on blender.org's python forum by Wim Van Hoydonck (aka tuinbels):
   Blender would hang if a script failed.  My fault, accidentally put a node=node->next type call outside the while loop check, so it never ended.

With makesdna/DNA_script_types.h removed and include/BPI_script.h added, msvc projectfiles will need to be updated.  Sorry to do it now, but I promissed I'd fix this before next release.
2004-01-21 04:38:03 +00:00