Commit Graph

66005 Commits

Author SHA1 Message Date
89dab4397d Pydrivers: Ipo Drivers controlled by Python expressions
wiki with info: http://mediawiki.blender.org/index.php/BlenderDev/PyDrivers

(there are two sample .blends in the patch tracker entry, last link in
the wiki page)

Notes:

In usiblender.c I just made Python exit before the main library gets
freed. I found a situation with pydrivers where py's gc tried to del
objects on exit and their ID's were not valid anymore (so sigsegv).

Ton needs to check the depsgraph part.

For now pydrivers can reference their own object, something normal
ipodrivers can't. This seems to work fine and is quite useful, but if
tests prove the restriction is necessary, we just need to uncomment a
piece of code in EXPP_interface.c, marked with "XXX".

Thanks Ton for the ipodrivers code and adding the hooks for the py part
and Martin for the "Button Python Evaluation" patch from which I started
this one.

Anyone interested, please check the wiki, the .blends (they have
README's) and tell me about any issue.
2006-04-30 16:22:31 +00:00
Ken Hughes
3b84767824 ===Python API===
Remove "EXPP_MOD_" from descriptions in Settings dictionary.
2006-04-29 14:24:30 +00:00
50b5d83a97 Bugfix #4139
Included a patch from Jacques Beaurain. On pressing "Play" the position of
the playback window didn't use same code as for pressing "Render".
2006-04-29 11:37:26 +00:00
Ken Hughes
fce1ff5634 ===Python API===
Bugfix: call to EXPP_ReturnPyObjError() was discarding value
2006-04-28 20:32:41 +00:00
be282bdf3f - Charlie fixed some bugs related to copying armature-constraint data (these are different from Bullet rigidbody constraints like the hinge, and point 2 point!)
- fixed a crashing bug related to objects without meshes (tried to get material info from it)
2006-04-28 17:35:03 +00:00
702207f03f * Added optional X Zero snapping with tolerence limit.
* optionaly work with more then 1 mesh.
2006-04-28 11:41:11 +00:00
0a3e6a771f msvc6 .. adding mofifiers for happy PY complie
still no GE and still std::std::string in El'Beem
2006-04-28 07:31:27 +00:00
43b3256be4 missing commit. this profiling is disabled in Blender, but the headerfile is needed. 2006-04-28 01:49:03 +00:00
f51d1ef7d6 - fixed Bullet noResponse/ghost mode
- added ccd option (future use, very basic and inefficient)
- some internal Bullet refactoring/improvements
2006-04-28 00:08:18 +00:00
2d6224a0d7 All negative vert indicies are assumed relative, removed relative vert option. 2006-04-27 23:22:04 +00:00
Ken Hughes
139c190605 ===Python API===
Added render.getRenderWinSize() method, to complement render.setRenderWinSize()
2006-04-27 20:24:27 +00:00
2883242cde Lightwave mot exporter now does worldspace loc/size/rot 2006-04-27 12:51:09 +00:00
176a4c8507 Added scalePart to mathutils matrix type object.
and made it so toEuler converts a 4x4 matrix to a 3x3 rather then raising an error.

Its not straight fwd to get an objects worldspace loc/size/rot from its 4x4 matrix.
Example from updated docs.
      import Blender
      scn = Blender.Scene.GetCurrent()
      ob = scn.getActiveObject()
      if ob:
        mat= ob.mat # Same as martixWorld
        print 'Location", mat.translationPart() # 3D Vector
        print 'Size", mat.scalePart() # 3D Vector
        print 'Rotation", mat.toEuler() # Euler object
2006-04-27 12:32:44 +00:00
b18763a265 make Bullet default physics engine. However, it still loads some default .blend that set's sumo default. todo: find out about this.
commented out some code that makes Blender crashing, after leaving the game engine (armature deletes some pose, which deletes constraints, which are still in the dependency graph. Ask Charlie)
2006-04-27 04:37:20 +00:00
444f4e894f == interface ==
* Floating panel edge snapping

Floating panels now have a snapping mechanism that sticks them to the edge of a window when you drag them within a small range of it. This not only allows nice easy alignment of panels within a window, but also keeps them stuck to window edges when the window is resized. This means that you no longer get panels that were once on the edge of the window left drifting in the middle of your view if you resize it larger, which was rather annoying before.

Another goodie is that panels snapped to the bottom edge of the screen will minimise down to the bottom when collapsed, and will move back up to be edge aligned when maximised again, preventing collapsed panels down here from hanging around in space.
2006-04-26 14:47:04 +00:00
b69db8f090 Made space handelers check that G_DOSCRIPTLINKS is enabled before running.
Its scary to think that a redraw space handeler could run
  import os
  os.system('rm -rf ~/')
removing all user files, Just by opening the blend file!

This means at least you can opt not to run any python scripts you dont want to..
2006-04-26 08:22:39 +00:00
f9597df32d added Bullet rigidbodies that behave like Sumo 'dynamic', without rotations. Done using a special hinge constraint (no translational degrees of freedom removed) 2006-04-26 06:01:46 +00:00
45d0123a59 fixed several internal Bullet rigidbody dynamics bugs:
- broadphase had bugs in removing objects,
- persistent manifold renamed value,
- cylinder penetration depth fixed,
- memory leak for persistent manifold
2006-04-26 03:20:28 +00:00
94dd1085e3 Trying a new method for setting the brightness of the mini axis. Let's see how this goes. 2006-04-26 01:42:35 +00:00
16a816c38d - initialize some globals to 0 explicitly 2006-04-26 00:51:58 +00:00
512cb9799d ==scripts ==
update to MD2 exporter by Bob Holcomb
2006-04-25 22:05:03 +00:00
Ken Hughes
74acf8224d ===Python API===
Fix some small typos in Pose epydocs.
2006-04-25 22:00:18 +00:00
ab5c87cbf4 Re arranged how modifiers are used.
All settings through Blender.Modifier.Settings
see the epydocs
Also added some error checking to fix some possible segfaults.
Added more epydocs

Modifiers API should be stable enough to use now, though give it a bit of time for testing.
2006-04-25 13:01:19 +00:00
2bbfd3a801 * patch #3876: Rotating view icon
submitted by Davide Vercelli

This replaces (as a user preference) the static icon shown in the bottom-left of the 3D View with a small rotating axis that updates live in all ortho/perspective modes

I made several modifications to the original patch. In the patch, it displayed the axis on top of the 'object info' text since when floating panels are minimised, they sit in the bottom corner and cover the axis up. This annoyance is not limited to the axis, it also covers the frame number and info text, which can be frustrating. Sending them to the bottom is not that useful either, since it's quicker (with esc) and just as much movement to close and re-open them again.

I decided to solve this problem at the cause: Now when using the disclosure triangle on floating panels, they 'minimise in place' rather than going to the bottom.

User preferences are in the 'View & controls' section to:
- Display either the 3D axis or the old icon
- The size of the axis
- the brightness of the axis (colours are taken from grid theme settings)

* patch #3801: Option to show view direction in 3D View
submitted by Daniele Fornaciari

Simple one, just adds an user pref to show the name of the view's direction as text in the top left corner.
2006-04-25 12:26:46 +00:00
5c02b01395 Congrats to ZanQdo, first script lightwave motion exporter.
We need a way to get worldspace loc/size/rot.
there is currently no simple way to do this. location can be found the the world matrix.
but size and rot arnt that simple...
Maybe worldLocX.. worldRotX etc?
2006-04-25 07:25:22 +00:00
Ken Hughes
5fa5ea352e ===Bugfix===
matrix.resize4x4() was incorrectly allocating a array of pointers using
the wrong cast -- sizeof(float) instead of sizeof(float *).  Worked fine
on 32-bit systems but caused a crash on AMD64.  Discovered by a student
in one of my classes (kudos, Joe).
2006-04-24 23:00:03 +00:00
9e7a0e1987 *projectfiles update*
-only 1 dll for pthreads needed in release build
2006-04-24 21:34:05 +00:00
26c8d8f983 For some reason the render docs didn't mention the fact that you the RenderData stuct has the 'currentFrame' method for proper frame access. 2006-04-24 16:17:03 +00:00
87949e5c67 warnings cleanup for the python project on windows 2006-04-24 15:09:07 +00:00
4bfb0e30ec *msvc7 projectfiles update*
- post-build steps improved
- properly moves all the python scripts into the .blender directory on build
- only moves pthreadVSE2.dll from the pthreads libs
- moves release text into the build directory
2006-04-24 14:33:35 +00:00
a77ab034d4 *projectfiles update*
- added Modifier.c to python project
2006-04-24 14:07:09 +00:00
52d50b3cbc fix removal of groups for non selected verts.
removed debug prints
2006-04-24 11:34:16 +00:00
11586835da Added utility functions to BPyMesh.py
- dictWeightFlipGroups, return a vert weight with flipped group names.
- dictWeightMerge, takes a list of dictWeights and merges them

mesh_mirror_tool.py
Added vertex weight support for the mirror tool, its able to mirror arbitary meshes weights with optional name flipping and creation of name flipped groups.
This also uses the mode for l<>r, l>r, r>l so you can copy from left to right only for eg.
2006-04-24 11:26:04 +00:00
Ken Hughes
94ebee891c Some Ipo getseters calling setter methods; added the necessary wrapper
functions to make this work correctly.
2006-04-24 05:24:58 +00:00
8291024b99 fixes in raycasting 2006-04-24 04:58:37 +00:00
c781a840b2 fixed collision sensor for dynamically created objects using Bullet physics 2006-04-24 02:03:55 +00:00
d1c0a4e6d1 use ContinuousConvexCollision for raycaster, fixes raycast problems 2006-04-23 18:42:17 +00:00
Ken Hughes
a26ef58877 ===Tools===
Patch #4119, submitted by Lukas Steiblys (imbusy1).  Mesh objects (created
through the toolbox) which take user input such as number of verts, are not
created if the user cancels input.  Thanks for the patch!
2006-04-23 18:19:37 +00:00
Ken Hughes
e6db82ec04 ===Python API===
Fix for Cygwin/GCC compile errors: doesn't like PyObject_Del() in the
PyTypeObject declarations :-P
2006-04-23 17:15:20 +00:00
Ken Hughes
6f94c5ef5e ===Python API===
More Modifier API changes:
 * add Blender.Modifier.Settings dict with constants for modifier types
 * add mod.type attribute, which returns type of the Modifier
 * add some internal consistency checks in ModSeq_remove
2006-04-23 17:01:04 +00:00
Ken Hughes
fe1495cf24 Little bit of code clean-up and commenting. 2006-04-23 14:17:14 +00:00
Stephen Swaney
e8b2d0d211 fix compiler warnings.
The 'excess elements in struct initializer' is fatal on some platforms.
2006-04-23 12:56:58 +00:00
b3bd7c869a added remove to the modifier seq (when pymodifier->md is NULL then its been removed)
added name to the docs
2006-04-23 08:01:02 +00:00
Ken Hughes
8001a8b409 ===Python API===
Initial commit for new Modifier API.  Probably does about 70-75% of what it
should, but it's a start.
2006-04-23 02:34:50 +00:00
a7863efb8a JMS's updated script. Must try to work out which one to remove, this one or apply_def 2006-04-22 09:23:25 +00:00
Ken Hughes
1e1e908816 Miscellaneous fixes to documentation. 2006-04-21 20:31:27 +00:00
Ken Hughes
4aa28f13f4 ===Python API===
New Ipo and IpoCurve API.  Ipo and IpoCurve objects support the [] operator,
for accessing the curves of a particular Ipo and for accessing the value
of an IpoCurve at a specific time.  Both modules were also "tp_getset"-ified.
Also, code for an alternative method (Antont wanted this) of accessing curves
via Ipo attributes is included for now, for people to try and see if it's
actually preferable to the Ipo [] operator.

These are all new additions; nothing was intentionally removed from the API.
If you find the something in the existing API has changed, let me know.
2006-04-21 20:27:52 +00:00
63868046f4 boneweight copy-
fixed the "No X Crossing option "Made 0-x verts snap to eachother.

Added mesh_mirror_tool
  This is a tool that makes verts mirror, so that you can use xmirror in editmode and weight painting.
  Have imported a heap of models that are made mirrored but are slightly out of being in the range that blender uses to be mirrored.
  So this means I can make a models verts snap to its mirrored locations.
  Options are Limit, Mode l>R, R>L or Middle, Normal Weigting, only mirror Same edge user count may add support for mirroring vert weights later.
2006-04-21 09:41:58 +00:00
237030a6ca Error in the header, was still refering to mesh type rather then group, didnt seem to break anything. 2006-04-21 00:00:42 +00:00
Ken Hughes
355486c83d Replaced constant_getAttr() with constant_getAttro(), and added extra
code so that the .keys(), .items() and .values() methods worked.
2006-04-20 17:51:58 +00:00