Commit Graph

8676 Commits

Author SHA1 Message Date
Ken Hughes
08a7208aa6 Python API
----------
A more robust attempt to avoid creating non-Empty objects with no data while
maintaining backward compatibility.
2006-12-17 00:21:57 +00:00
Campbell Barton
08e3f8b1da Use ed.key and face.edge_keys to build connectivity data faster. 2006-12-17 00:08:05 +00:00
Joseph Eagar
3a84791b53 =IDProperties Python update=
Updated id properties interface as per
discussed in python meeting.  Basically,
id properties are now entirely accessed
through the dict-like interface if IDGroupType.
Also, tp_getsetters are used throughout the code
now.

Using the dict interface allowed for a major cleanup
of the wrapping code.  The biggest change is that ID
properties are no longer wrapped in a structure with 
.type .name and .data members; instead when you get
properties from the group it returns the direct value.
Ints, strings and floats return simple python types,
while arrays and groups return special wrappers though.

This means to detect the type of an ID property, you
have to use type().  For string and int types this is
easy; for group and array types (which of course have
their own wrappers) you use type() with Blender.IDGroupType
or Blender.IDArrayType.

Update of epydocs plus a temporary gui script will be
forthcoming; the gui script will be removed before release
as of course by then we'll have a built-in gui for id
properties.
2006-12-16 23:54:45 +00:00
Campbell Barton
47ee194922 adding ed.key and face.edge_keys
avoids a lot of boiler place code in scripts that need to build connectivity.
2006-12-16 23:46:43 +00:00
Campbell Barton
a9447e4273 Enable/Disable DupFaces from the Python API.
Fixed a (own) bug in fakeUsers and added fakeUsers to Objects and Materials as well as Mesh.
2006-12-16 22:04:21 +00:00
Erwin Coumans
dfb811d73d fixed issue: rbHalfExtents was accidently named wrongly rbShapeBoundType 2006-12-16 21:14:36 +00:00
Campbell Barton
711a1f8686 made editmode select grouped work with mixed selections - can show select grouped items for vert/edges/faces all at once.
bad comment in Axiscopy and spelling fix in export_obj
2006-12-16 10:39:08 +00:00
Erwin Coumans
92379ec21f contribution from RCRuiz:
drawing of rigidbody constraint pivots, and allow passing of full constraint frame.
2006-12-16 05:50:38 +00:00
Campbell Barton
3c9a11f24e Sys.c was getting the path seperator out of the python dict and converting it to a char for all path functions.
made DIRSEP a constant and refer to that directly.
Draw.c's PupBlock limit was 24, made 120 to match blenders internal limit.
2006-12-16 03:36:54 +00:00
Joshua Leung
ca90938826 == Long Keyframes ==
Bugfix for an error reported by Bassam/slikdigit.
Sometimes, long keyframes could still get created where they aren't
supposed to be (only occuring in a few ipo-curves).
2006-12-16 00:07:14 +00:00
Campbell Barton
827cce172c update to Axiscopy, more error checking. basic functionality the same.
- Dont allow it to apply the matrix twice to a linked-dupe. (Same as Apply Loc/Size/Rot)
- Make sure that the source object is active, not just the first selected object.
- Use Mesh instead of NMesh.
- use mesh.transform(mat) rather then vert by vert vec*mat

Other scripts had pupBlock changes for better layout.
2006-12-15 22:14:33 +00:00
Campbell Barton
0369f08299 made the hax height of the clever_numbers 8 rather then 5, was wrapping on too many scripts.
bvh import was having errors on joints with no animation.
typo in uvcopy from my previous commit.
2006-12-15 20:22:59 +00:00
Jacques Beuarain
d78aed0682 CMake: Add scripts copy back into postbuild on Windows after accidentally removing it when adding the plugins 2006-12-15 10:40:37 +00:00
Campbell Barton
956add11b4 Wasnt initializing a pointer as null, messed up making new object names 2006-12-15 09:58:16 +00:00
Campbell Barton
65d5b47a10 removing uvcalc_from_adjacent for review on Sunday's meeting.
image_dump2path is a stopgap util. We need to look into making Pack/Unpack use filenames, not IDnames. or have some other datamanagement utility.
2006-12-15 09:25:57 +00:00
Joshua Leung
c43b064895 == Action Editor - 'Long' Keyframes ==
When animating, it is often useful to be able to visually see where the
'pauses' are between keyframes. Long keyframes do this - linking two
keyframes in the same channel together.

Long keyframes are only drawn when the two keyframes have the exact
same values. This has to happen for every ipo-curve represented by the
keyframes shown for a long keyframe to be drawn.

I've added two new theme colours for the action editor. They are for
the selected and deselected colours of the long keyframes (currently
defaulted to be the same as the NLA strip selection colours).
2006-12-15 05:51:53 +00:00
Campbell Barton
e4340d1b58 Shift flips the current axis your draging.
uv's and mocified vertex coords are now in a big list rather then stored be faces, should be faster
2006-12-15 04:49:06 +00:00
Campbell Barton
0254065f3b Updated, optimizations and cleanup.
* accurate mouse to mapping using ray intersect,
* right clicking cancels and returns original coords

Doc is here
http://mediawiki.blender.org/index.php/Scripts/Manual/UV_Calculate/Click_project_from_face
2006-12-15 04:14:09 +00:00
Joshua Leung
0fbecfe936 Bugfix #5434: Animation (alt-a / timeline) will not play if Sta:
frame set higher than End: frame

The end frame should not be allowed to have a value less
than the start frame. This commit sets the minimum allowable
value of the end frame button in the Anim panel and the timeline
to the start frame value.

Ton/Matt - if there is a good reason to not do this, feel free to
revert it back.
2006-12-14 23:38:43 +00:00
Joshua Leung
1ed773c71c == Add Constraints Menu ==
Now, it is possible to add action constraints to the last selected bone
from the Add Constraint Menu (Ctrl Alt C)
2006-12-14 23:20:47 +00:00
Joshua Leung
4935f0b231 Constraints on bones working in 'local' mode, now obey the Enforce
value for constraints. Only Copy Rotation used to do so.

Note: only enforce values of 0.0 or 1.0 are useful/totally predictable
2006-12-14 22:58:22 +00:00
Campbell Barton
f631c2d49e new Uv-Calculation tool,
Click project, a nifty 3 click way to use a face to set a projection aurientation and then 2 more clicks for the U and V scales
with realtime updating as you move the mouse
should be faster then using view project all the time because you dont have to line the view up with the faces.
2006-12-14 19:36:37 +00:00
Campbell Barton
b995593eee faster sorting syntax in python, try/except for py 2.3 backwards compat
ls.sort(key = lambda v: v.foo)
rather then
  ls.sort(lambda a,b: cmp(a.foo, b.foo))
2006-12-14 14:53:32 +00:00
Matt Ebb
4b99060cc3 * reverted and tweaked UV calculation menu after IRC discussion with Cam 2006-12-14 10:43:13 +00:00
Campbell Barton
3a739d9bd2 fixed mouseViewRay in BPyWindow, was not applying the objects matrix to the mouse direction correctly.
VCol and Weight gradient work again.
2006-12-14 09:56:56 +00:00
Campbell Barton
c5fba51131 object_apply_def - use new BPy Object API funcs, no error in localview
off_export - minor changes
uv_archimap - cleanup. slightly slower but less duplicate code
uv_from_adjacent - nothing

BPY_menus - renamed py slot UvCalculation to UVCalculation to be consistant
2006-12-14 03:43:02 +00:00
Joshua Leung
7a216f68fd == Action Editor ==
When the active action in the action editor is the active strip in the
NLA editor, translating (GKEY) the selected keys now shows the
'visual' time instead of the action's local time in the header.
2006-12-14 00:08:49 +00:00
Chris Want
f0adb2cd40 Make 'WITH_OPENAL' a configurable option. This is mostly cosmetic
because it gets set to one value or another on most platforms.
On windows, only link to DirectX if WITH_OPENAL is set to ON
(it isn't needed otherwise). This OpenAL stuff is pretty confusing!
2006-12-13 18:31:54 +00:00
Kent Mein
699a3a0c23 Reverting IMAnames_to_pupstring to IDnames_to_pupstring
until Ton changes it to whatever he was thinking ;)

Kent
2006-12-13 15:37:59 +00:00
Jacques Beuarain
442c959235 CMake: Fix reqular expression message on Windows from Apple framework detection by using common OPENAL_INC variable instead of CMake detection var OPENAL_INCLUDE_DIR 2006-12-13 12:27:11 +00:00
Ton Roosendaal
ae7fcb58bc Armature Proxy bugfix: synchronizing the pose went wrong when the proxy
had new dependencies added internally (like constraints), changing the
evaluation order for pose channels. My optimized code didn't like it, so
now it falls back to a reliable slower method.

Bug showed as totally messed up characters for proxies...

Also: increased range for 3D Window properties clip-start/end, this is
still a bad construct though...
2006-12-13 08:50:11 +00:00
Campbell Barton
1031caafc1 python multi UV support -
active index was incorrect, removing layers after they had non was crashing blender, now raise an error.
2006-12-13 03:21:14 +00:00
Jacques Beuarain
16b51f5097 CMake: Give error on attempts to generate within the sources with
instructions on how to do it out-of-source
2006-12-13 02:57:57 +00:00
Campbell Barton
228bebfaa8 name changes from theeths suggestions
totUvLayers -> totalUVLayers
addUvLayers -> addUVLayers
2006-12-13 02:55:49 +00:00
Chris Want
a119216a53 Crude test so that if openal comes from apple framework stuff, use the
headers <al.h>, <alc.h>, and <alut.h> instead of <AL/al.h>, <AL/alc.h>,
and <AL/alut.h>

(cmake generated makefiles now work out of the box on my intel mac)
2006-12-13 02:54:59 +00:00
Chris Want
d80f673f5d Small typo (-DNO_SOUND instead of -DNOSOUND). 2006-12-13 02:11:11 +00:00
Nicholas Bishop
487b147235 Fixed bug #5402, retopo paint lines don't follow zoom level of 3d viewport. Retopo paint is now specific to one view (the first view you click in after activating retopo paint.) 2006-12-13 00:54:16 +00:00
Campbell Barton
080a5d5664 exposed CustomData_get_active_layer_index in BKE_customdata.h (needed by python to get the active layer)
added python api stuff to deal with Color and UV/Image layers.

me.activeUvLayer - int
me.activeColorLayer - int
me.totUvLayers - int
me.totColorLayers - int

me.addUvLayer()
me.addColorLayer()
me.removeUvLayer()
me.removeColorLayer()


Variable names may need changing.
2006-12-13 00:50:02 +00:00
Ton Roosendaal
655f101ef7 Bugfix: restriction buttons didn't draw correct when outliner view was
'all scenes' or 'groups'. Caused by optizing drawing.
2006-12-12 22:03:09 +00:00
Campbell Barton
824f391c75 mesh_edges2curves - edge key optimize and made use of scn.objects rather then Object.New()..
Object.py - passIndex mistake
2006-12-12 21:38:04 +00:00
Brecht Van Lommel
80ee52e444 Multiple UV and vertex color layers: (still work in progress)
These can be created and deleted in the Mesh panel in the same place as
before. There is always one active UV and vertex color layer, that is
edited and displayed.

Important things to do:
- Render engine, material support
- Multires and NMesh now lose non active layers

Also CustomData changes to support muliple layers of the same type, and
changes to layer allocation, updated documentation is here:
http://mediawiki.blender.org/index.php/BlenderDev/BlenderArchitecture/CustomData
2006-12-12 21:29:09 +00:00
Campbell Barton
47adee414c added ob.passIndex to bpy, changed passIndex tooltip to a better one ton suggested. 2006-12-12 21:01:43 +00:00
Ton Roosendaal
dd88a8ca0f Bugfix: usage of 2 unitialized variables (again!). I should set gcc to use
O2 by default... without O2 it doesnt warn me for it.

This should fix errors in Material Node and "Vector Math" node.
2006-12-12 20:24:12 +00:00
Ton Roosendaal
12c0fb9312 Bugfix: Object "restrict render" option was missing in vectorblur
Plumiferos request: Made individual duplicated group objects still check on
the restriction flag, *after* the group-duplicator itself was checked for.
So it works both. (Matt; was urgent feature, hope you're OK? These options
showed in outliner for groups anyway :).
2006-12-12 16:47:18 +00:00
Ton Roosendaal
925caea404 Argh, bugfix to survive non-existing window types made top bar go
away.
2006-12-12 14:05:44 +00:00
Erwin Coumans
87e67afd9b some fixes in a recent contribution, added return values and check for valid pointer, to avoid crashes. 2006-12-12 13:24:45 +00:00
Jacques Beuarain
ed6da1709f CMake: Oops. Fix Info.plist problem from recent changes in bundling steps. 2006-12-12 12:43:02 +00:00
Ton Roosendaal
4595bef2b4 Three-fixes-in-one:
#5417: Only Shadow material gave shadow outside of Spot bundle
#5414: Material Nodes: sockets without input were always treated as single
       value inputs, ignoring color or vector. (Caused by commit to do
       automatic conversions of socket links).
#5420: When reading with old Blender a new file that has a new window type,
       saving it over, and read back in current Blender, the window type
       should be reset to EMPTY, because all its data got lost.
2006-12-12 11:13:43 +00:00
Campbell Barton
09e4fa8f6a simple change, made
Changed...
  me = NMesh.GetRaw(ob.data.name)
To
  me = NMesh.GetRaw(ob.getData(name_only=1))

The line above converts the entire mesh to a python thick wrapper just to get its name, then only to that that same mesh again??
A lot of older scripts did this but theres no reason to do it.

in most (all?) cases..
  me = ob.data - should be ok, but theres a subtle difference and I dont want to break anything.

xfig_export, xsi_export and videoscape_export need error checking too.
2006-12-12 10:38:43 +00:00
Campbell Barton
848d3ae617 popup error if the active objects datatype cant have keys as well as other cases where it would quit,
use Mesh rather then NMesh to get the keyblock, enable restrictRender for driver objects.
2006-12-12 08:05:08 +00:00