Commit Graph

843 Commits

Author SHA1 Message Date
afb5a2acf5 yet another temporary strange but straightforward hack for a script at orange to work! that is: while Joseph is working on the actual Constraint API for bones etc., this allows our armature script to set influences with a simple call: armatureobject.setConstraintInfluenceForBone(bonename, constraintname, influence); fails silently at failure ('cause the c calls used do and no retvals are checked) and is in the strange place (as the current api is largely not object level) but works for us for now (e.g. next few weeks). 2006-02-01 22:21:46 +00:00
Ken Hughes
1b0ad97f46 ==Python API===
Minor typo fixes for Object API.
2006-01-31 22:18:07 +00:00
240e25ab65 Cleanup of blender/ module; Makefiles now compile this warning free.
Mostly was unused variables, unused functions, missing prototypes and
missing include files.
2006-01-28 20:17:48 +00:00
Chris Want
c8b48e70e6 Final merge of HEAD (bf-blender) into the orange branch.
Here are my notes on things to look out for as potential problem
spots:

source/blender/blenkernel/intern/displist.c:
+ is initfastshade(void) supposed to be empty? I had
to make it empty to get the merged tree to compile.

source/blender/python/api2_2x/Armature.c:
+ went with the version that had Armature_getLayers()

source/blender/python/api2_2x/Object.c
+ went with the version of Object_getPose() from bf-blender.
(#ifdef 0-ed the other version)

source/blender/python/api2_2x/Pose.[ch]
+ had problems linking due to no Pose_Init() ... copied these
two files straight from bf-blender.

source/blender/src/drawview.c:
+ view3d_panel_properties() had things shifted a few things shifted
a few pixels, otherwise, things were painless

source/blender/src/splash.jpg.c:
+ went with bf-blender version (orange is dead)

source/gameengine:
+ went with bf-blender version -- does not compile due to IMB_rect* stuff,
Ton should look into this.
2006-01-28 16:35:18 +00:00
no-author
e8afec9f9a This commit was manufactured by cvs2svn to create branch 'orange'. 2006-01-26 22:47:31 +00:00
Chris Want
164a7929ce Not a show stopper, and does not add or remove any functionality
... but a pythoner forgot to do a cast, causing an error with an
anally retentive compiler.
2006-01-24 17:23:01 +00:00
042d612df2 Giant commit!
A full detailed description of this will be done later... is several days
of work. Here's a summary:

Render:
- Full cleanup of render code, removing *all* globals and bad level calls
  all over blender. Render module is now not called abusive anymore
- API-fied calls to rendering
- Full recode of internal render pipeline. Is now rendering tiles by
  default, prepared for much smarter 'bucket' render later.
- Each thread now can render a full part
- Renders were tested with 4 threads, goes fine, apart from some lookup
  tables in softshadow and AO still
- Rendering is prepared to do multiple layers and passes
- No single 32 bits trick in render code anymore, all 100% floats now.

Writing images/movies
- moved writing images to blender kernel (bye bye 'schrijfplaatje'!)
- made a new Movie handle system, also in kernel. This will enable much
  easier use of movies in Blender

PreviewRender:
- Using new render API, previewrender (in buttons) now uses regular render
  code to generate images.
- new datafile 'preview.blend.c' has the preview scenes in it
- previews get rendered in exact displayed size (1 pixel = 1 pixel)

3D Preview render
- new; press Pkey in 3d window, for a panel that continuously renders
  (pkey is for games, i know... but we dont do that in orange now!)
- this render works nearly identical to buttons-preview render, so it stops
  rendering on any event (mouse, keyboard, etc)
- on moving/scaling the panel, the render code doesn't recreate all geometry
- same for shifting/panning view
- all other operations (now) regenerate the full render database still.
- this is WIP... but big fun, especially for simple scenes!

Compositor
- Using same node system as now in use for shaders, you can composit images
- works pretty straightforward... needs much more options/tools and integration
  with rendering still
- is not threaded yet, nor is so smart to only recalculate changes... will be
  done soon!
- the "Render Result" node will get all layers/passes as output sockets
- The "Output" node renders to a builtin image, which you can view in the Image
  window. (yes, output nodes to render-result, and to files, is on the list!)

The Bad News
- "Unified Render" is removed. It might come back in some stage, but this
  system should be built from scratch. I can't really understand this code...
  I expect it is not much needed, especially with advanced layer/passes
  control
- Panorama render, Field render, Motion blur, is not coded yet... (I had to
  recode every single feature in render, so...!)
- Lens Flare is also not back... needs total revision, might become composit
  effect though (using zbuffer for visibility)
- Part render is gone! (well, thats obvious, its default now).
- The render window is only restored with limited functionality... I am going
  to check first the option to render to a Image window, so Blender can become
  a true single-window application. :)
  For example, the 'Spare render buffer' (jkey) doesnt work.
- Render with border, now default creates a smaller image
- No zbuffers are written yet... on the todo!
- Scons files and MSVC will need work to get compiling again

OK... thats what I can quickly recall. Now go compiling!
2006-01-23 22:05:47 +00:00
Ken Hughes
6e1db67cc0 ===Python API===
Bugfix: Hos discovered that recent fixes broke mesh.verts.extend(); it now
accepts three floats again.  Sorry....
2006-01-21 06:21:03 +00:00
Ken Hughes
0fcfd5bd40 ===Python API===
Bugfix #3660:  NMesh.getVertexInfluences() was broken following the changes
to the armature system.  Tron Thomas (kudos) came up with a fix that seems
to perform identically to the old method.  I'm also adding it to the Mesh
module for compatibility.
2006-01-19 15:48:56 +00:00
Ken Hughes
a8cb639f0b ==Python API==
Bugfix #3761: Attempting to set mesh.faceUV=1 when a mesh has no faces
now throws a RuntimeError exception.  Previous behavior was to do nothing.
2006-01-18 06:15:17 +00:00
cf5570c45b ==python api==
epyDoc for insertShapeKey
2006-01-17 16:32:09 +00:00
75aa68e821 ==python api==
clarification of Blender.Mesh.Mode() tip
2006-01-17 09:20:37 +00:00
427b132ad0 ==python api==
patch from jean-michel soler (jms) - .insertShapeKey()

Python API, a function to insert a shape key in an object . It works on Mesh, Lattice curve ans surface .
Example of use :

import Blender
OBJECT=Blender.Object.GetSelected()[0]
OBJECT.insertShapeKey()

a docstring to follow soon
2006-01-17 06:47:48 +00:00
Ken Hughes
aeffb121c8 ==Python API==
Added Mesh.Modes() function, which allows scripts to get/set the selection
mode settings for meshes.  This was necessary in order for the mesh tools
such as triangulate, remove doubles, etc., to work properly.
2006-01-17 06:18:43 +00:00
Ken Hughes
cfdf71bc5c Patches submitted by Michael Reimpell to get/set relative key selection, and
to get the current value of the IPO shape key.  There are still some issues
to discuss as to whether methods/attributes should be used and what they
should be named, but this will (or should) be addressed in the upcoming API
rewrite.
2006-01-17 06:12:53 +00:00
Stephen Swaney
14cc1192a3 clean up some warnings in bpy code 2006-01-16 17:55:03 +00:00
7d536502f8 *fixes global redefinitions
- added some extern keywords
2006-01-16 16:34:08 +00:00
bb9cadbb77 BPython:
- minor: added missing theme options (bone_solid, bone_pose, strip,
strip_select) to Blender.Window.Theme and also updated accordingly
(version info) the script that saves themes as scripts and the module's
doc.
2006-01-16 03:51:32 +00:00
Ken Hughes
df3fd052dd Fixed Window.Editmode(0) so that it only calls undo_push_mesh() when
U.undosteps is nonzero.  Also added optional parameter to avoid pushing
undo info alltogether if desired.
2006-01-16 02:06:02 +00:00
Ken Hughes
4f916b3081 Removed printfs in setPoints(), add proper exception handling. 2006-01-15 17:14:58 +00:00
Ken Hughes
e35f73cd00 Bugfix #3731: User reported that cyclic IPO curves reported the wrong value
in the BPy API for the "end point".  It was a minunderstanding of what
happens with cyclic Ipos, but we updated the documentation to make this
clearer in the future.
2006-01-14 22:05:16 +00:00
Stephen Swaney
148134205f fix previously fixed error msg. 2006-01-14 19:05:33 +00:00
Stephen Swaney
adcef46599 Object.Get( name ) was throwing an AttributeError.
Change to throw more correct ValueError when name
is not found as per IRC discussion
2006-01-14 02:13:15 +00:00
Ken Hughes
c18db96f56 Cam Barton discovered the setter for me.faces[i].col was missing. 2006-01-13 17:22:53 +00:00
144e3f827d * [ #3746 ] Calling getPose on a mesh object generates "RuntimeError: Pose - Error: PyPose_FromPose: Internal Error Ocurred"
- added returns where appropriate.
2006-01-13 16:19:11 +00:00
1a4c31442f *head/tail addition
- forgot to add the ability to get pose head/tail positions
- no setters (yet) as they are calculated
2006-01-13 15:53:22 +00:00
2aa6d4fc11 *bone.children fix
- fixes bone.children to return direct bone children
- added bone.getAllChildren() to allow previous behavior
2006-01-13 15:27:23 +00:00
Ken Hughes
5951b4dda7 Another bug fix for reference counting in extend methods. 2006-01-13 07:11:30 +00:00
Stephen Swaney
dea1ac52b4 bugfix: #3738 Armature bones returns none instead of key error
BonesDict was returning None instead of throwing a KeyError
when key not found.
Also fixed a few compile warnings about struct initialization.
2006-01-12 21:21:41 +00:00
Ken Hughes
6ded7d67d1 Clean-up of some reference counting issues with delete() methods. Also
further relax the input types for edge.extend() and face.extend() so that
single lists or tuples are accepted without errors.
2006-01-12 07:51:19 +00:00
150d36e4da BPy: Mathutils fix: bug #3737
Vector.resize4D() didn't put 1 in the 4th component (the scale factor), as it did in 2.37.
While this is more "correct", it is much less usefull. Also, matrix.resize4x4 puts a 1 there too,
so might as well revert and be consistent.
2006-01-12 01:11:42 +00:00
81f42b491a Scons fix:
new BPy Pose files weren't added to Sconscript
2006-01-12 00:07:08 +00:00
468dd24cd5 remove Constraint.h since it doesn't exist.
Provided by Letterrip.

Kent
2006-01-11 21:58:37 +00:00
f41c1f1c73 Forgot the pose file.... :p 2006-01-11 20:48:46 +00:00
31518a374b *pose docs
- some pose python documentation
2006-01-11 20:44:24 +00:00
6544ed3b64 Probably need these.... 2006-01-11 19:41:01 +00:00
5f0232f68f *pose code for python
- adds object.getPose
- ability to manipulate poses /posebones
- fixes a overflow bug in matrix sequence accessor
- adds code to get vec/roll from mat3
- few internal fixes to NLA
- ability to set bone matrices
2006-01-11 19:40:06 +00:00
Ken Hughes
0ee5c131dc A few Mesh fixes:
* edge and face extend() methods now add edges and faces in the order given
  by their parameters.  Note that if duplicate edges or faces are specified,
  the order is preserved but the dups are removed, so indices won't match.
* allow extend(), findEdges() and faces.uv to accept lists or tuples
* fix bug in mesh.verts.extend() which didn't correctly check argument types
2006-01-11 18:37:47 +00:00
e7285229b8 Tuesday merger of bf-blender into orange branch. 2006-01-10 22:10:14 +00:00
2ead92cc2b BPy:
PupBlock method. This wraps the "clevernumbut" code to allow scripters to use popup blocks for user input instead of a sequence of multiple different popups.
See the blend file for a comprehensive test and example file.
2006-01-08 18:59:55 +00:00
ef520a8cc9 Scene.c - Removed redraw when in non UI mode.
Lamp.py - Example indent
Object.py - Improved join documentation.
2006-01-06 01:53:26 +00:00
2901da3c29 I added {}'s around an if block of code to prevent gcc from saying
this else is ambiguous...
code was
if (blah) if (blah2) stuff; else stuff2;
its now
if (blah) { if (blah2) stuff; else stuff2; }

Kent
2006-01-05 20:52:51 +00:00
Ken Hughes
75032534f3 Bugfix for Toni: Ipo_addCurve() needed to call set_icu_vars() in order to
properly initialize data for new Ipo curves.
2006-01-05 19:25:38 +00:00
1377e65531 Changed so all errors raise an excepton. - As per Toni's suggestions.
TypeError for pythonCoder error.
RuntimeError for blender not being able to be joined. (Sorry stivs, no BadJuJu yet)

Documented this in the epydocs also.
2006-01-05 15:53:07 +00:00
9e36d4bc8e [ #3661 ] resize4x4 in Matrix class doesn't set ones on the diagonal
* resizing a matrix now puts 1's back on the diagonals.
2006-01-04 16:02:02 +00:00
ed2b55585d Wednesday sync orange with bf-blender
Note: has the crazyspace fix!
2006-01-04 15:47:16 +00:00
4af91dae79 Added some notes regarding Object.GetSelected() - it uses the last localview. 2006-01-04 15:11:35 +00:00
de37b11e56 [ #3712 ] Calling makeEditable() and update() on an armature twice duplicates bones
* fixes bug where editbones are not freed on calling update()
2006-01-04 15:07:15 +00:00
ff7ca4b1a2 Gave an example of changing lamp modes in epydocs. - answers a q on elysuin. 2006-01-04 01:55:39 +00:00
f47899fc0f Orange; merger with bf-blender.
(Merging is *not* fun work, especially not with bugfixes in main branch
for code that got cleaned up in the other! Poor Hos... :)
2006-01-03 21:43:31 +00:00