Martin Poirier [Sun, 2 Nov 2008 17:43:55 +0000 (17:43 +0000)]
Sketch Retargetting:
Use stroke normal to align roll of the retargetted bones.
Unlike stroke conversion, the final roll is not forced to point exactly to the normal. Rather, It tries to align the X or Z axis of the bones (whichever is closest) to the stroke normal. Forcing the roll can invert knees while this rightly only makes one of the joints rotation axis perpendicular.
Martin Poirier [Thu, 30 Oct 2008 19:58:11 +0000 (19:58 +0000)]
Lots of code cleanup and some new features.
Clean and split editbone duplication methods for easy reuse.
Copy and retarget selected bones to stroke conversion method.
This is the start of the infamous templating system.
A simple demo video is available: http://blenderartists.org/~theeth/bf/etch-a-ton/retarget.ogv and http://vimeo.com/
2111535 (for those who dislike ogg/theora)
Martin Poirier [Wed, 29 Oct 2008 21:49:58 +0000 (21:49 +0000)]
moving stuff home. first draft for template retargetting
Martin Poirier [Wed, 29 Oct 2008 19:14:59 +0000 (19:14 +0000)]
merge trunk 17213:17221
Martin Poirier [Wed, 29 Oct 2008 18:57:28 +0000 (18:57 +0000)]
EditVert hash *is* used elsewhere in the code, so just to be safe, use a scratch array instead.
This is actually much safer than juggling values in the tmp union all the time.
Kent Mein [Wed, 29 Oct 2008 17:45:02 +0000 (17:45 +0000)]
This is a fix for coverity issue CID: 517
Basically the code was referencing var[-1] it wasn't using it
but also did not need to be set in those cases. So I moved
the assignments so it skips the -1 case.
Kent
Campbell Barton [Wed, 29 Oct 2008 16:49:51 +0000 (16:49 +0000)]
fix for more disable python defines,
FTOCHAR didnt have brackets around the value. FTOCHAR(a+b) didnt work, FTOCHAR((a+b)) did.
Martin Poirier [Wed, 29 Oct 2008 00:11:58 +0000 (00:11 +0000)]
merge trunk 17122:17213
Martin Poirier [Tue, 28 Oct 2008 22:53:48 +0000 (22:53 +0000)]
merging harmonic-skeleton branch into trunk. All changes are hidden behind a disabled define, nothing to see here
Martin Poirier [Tue, 28 Oct 2008 20:26:38 +0000 (20:26 +0000)]
merge 17206:17211
Campbell Barton [Tue, 28 Oct 2008 20:19:25 +0000 (20:19 +0000)]
error in DISABLE_PYTHON defines
Kent Mein [Tue, 28 Oct 2008 19:53:54 +0000 (19:53 +0000)]
Fixes blenderplayer for dds stuff
Kent
Campbell Barton [Tue, 28 Oct 2008 18:47:13 +0000 (18:47 +0000)]
added scons option BF_WITH_PYTHON (defined as DISABLE_PYTHON)
Martin Poirier [Tue, 28 Oct 2008 18:47:01 +0000 (18:47 +0000)]
merge 17122:17206
Martin Poirier [Tue, 28 Oct 2008 18:33:53 +0000 (18:33 +0000)]
Add compile time define to disable skeleton generation and retargetting UI (disabled by default).
This is done to make merging make in trunk painless.
Kent Mein [Tue, 28 Oct 2008 18:33:34 +0000 (18:33 +0000)]
Updated cmake so it has the option to use WITH_DDS
Kent
Campbell Barton [Tue, 28 Oct 2008 02:03:13 +0000 (02:03 +0000)]
bpy access to image premul was missing.
Ken Hughes [Tue, 28 Oct 2008 00:01:20 +0000 (00:01 +0000)]
Python API
----------
Bugfix #17911: Mesh.getFromObject() incorrectly decremented the mesh's
material user refcount when the material was linked to the object.
Martin Poirier [Mon, 27 Oct 2008 23:25:08 +0000 (23:25 +0000)]
Sketching: Gesture to flip stroke (circular arc intersecting the stroke twice).
Some name cleanup.
Campbell Barton [Mon, 27 Oct 2008 15:47:58 +0000 (15:47 +0000)]
face transp option CLIP wasnt added to the py api.
added gameObject.replaceMesh(meshname) - needed this for an automatically generated scene where 100's of objects would have needed logic bricks automatically added. Quicker to run replace mesh on all of them from 1 script.
Brecht Van Lommel [Mon, 27 Oct 2008 15:22:55 +0000 (15:22 +0000)]
Fix for crash reading a peach file, chubbychestnut.blend. A do_versions
conversion was reading the mtex array in a library linked material. It
is however not guaranteed that direct_link_* was called on the material
yet, so the array pointer is not always valid and it can crash.
Joshua Leung [Sun, 26 Oct 2008 09:41:59 +0000 (09:41 +0000)]
Bugfixes:
* #17900 - IK Constraint was not included regardless of what Visual-Keying method was used
* Deleting a Bone Group now corrects indices of those groups that occurred after the one that was deleted
* No more click-a-mania - Delete all vertex groups from a Mesh (Ctrl-Shift-G menu)
Campbell Barton [Sun, 26 Oct 2008 08:06:48 +0000 (08:06 +0000)]
fix for [#17895] Python-generated Curves can't be beveled
radius and weight's values were not initialized for nurbs curves
for 2.48a just use set radius from curve specials menu to work around this.
Martin Poirier [Wed, 22 Oct 2008 20:30:02 +0000 (20:30 +0000)]
Snapping sketch to bone was using untransformed head/tail. Fixed.
Martin Poirier [Wed, 22 Oct 2008 20:17:11 +0000 (20:17 +0000)]
Gesture for delete selected (experimental): figure 8 (gesture crossing on itself twice)
Martin Poirier [Wed, 22 Oct 2008 18:08:06 +0000 (18:08 +0000)]
Correct handler for floating panel (close button wouldn't work)
Redraw event on floating panel buttons
Correct limit for Number of Fixed subdivision button
Fix off by one error in fixed subdivision loop.
Campbell Barton [Wed, 22 Oct 2008 16:43:38 +0000 (16:43 +0000)]
default opengl static locations was to try /usr/libGL.a, use the oprngl lib path instead - /usr/X11R6/lib/libGL.a
Ton Roosendaal [Wed, 22 Oct 2008 16:13:30 +0000 (16:13 +0000)]
Missing NULL check causes crash on Ikey when no active object.
Error is bad enough to go for a retag... hrmf!
Report from Ernesto (der|kunstler) Mndez in irc. Thanks a lot!
Ton Roosendaal [Wed, 22 Oct 2008 11:50:12 +0000 (11:50 +0000)]
New splash c file (now gimp png) and bumped version to 2.48.1 to make it
even a bit more clear.
After this commit we'll tag svn (gasp!) and then go build!
Ton Roosendaal [Wed, 22 Oct 2008 11:48:26 +0000 (11:48 +0000)]
Part one of the release update commit
Nathan Letwory [Wed, 22 Oct 2008 11:28:10 +0000 (11:28 +0000)]
* Minor cleanup of SCons files
- cleanup of boolean usage - use True and False now instead of 'true'/'false' or 0/1
- changed SConscripts accordingly
Campbell Barton [Wed, 22 Oct 2008 08:21:43 +0000 (08:21 +0000)]
added an option for python Draw.UIBlock(func, mouse_exit) so moving the mouse outside the popup wont close it.
Stops FBX Export and OBJ I/O from flickering a lot.
Campbell Barton [Wed, 22 Oct 2008 07:09:15 +0000 (07:09 +0000)]
make sure BPY_Err_Handle clears python errors, even if the exception cant be printed. Added PyErr_Clear() incase there are other references to exception data (sys.exc_info() from python)
Nathan Letwory [Wed, 22 Oct 2008 07:02:30 +0000 (07:02 +0000)]
* comment fix
Joilnen Leite [Wed, 22 Oct 2008 05:35:23 +0000 (05:35 +0000)]
Joilnen Leite [Wed, 22 Oct 2008 05:33:45 +0000 (05:33 +0000)]
Campbell Barton [Wed, 22 Oct 2008 04:42:00 +0000 (04:42 +0000)]
missing undo for vgroup operations, countall was running twice from select/deselect and DAG_object_flush_update isnt needed for changed selections.
Campbell Barton [Wed, 22 Oct 2008 03:10:00 +0000 (03:10 +0000)]
fix for [#17878] Scripts operating on blender objects don't clear memory after a crash
This is an interesting bug since it is likely the cause of many other suspicious python crashes in blender.
sys.last_traceback would store references to PyObjects at the point of the crash.
it would only free these when sys.last_traceback was set again or on exit.
This caused many crashes in the BGE while testing since python would end up freeing invalid game objects -
When running scripts with errors, Blender would crash every 2-5 runs - in my test just now it crashed after 4 trys.
It could also segfault blender, when (for eg) you run a script that has objects referenced. then load a new file and run another script that raises an error.
In this case all the invalid Blender-Object's user counts would be decremented, even though none of the pointers were still valid.
Campbell Barton [Tue, 21 Oct 2008 23:14:40 +0000 (23:14 +0000)]
add a way for external scripts to call X3D/VRML importer and deal with unknown node types.
Nathan Letwory [Tue, 21 Oct 2008 23:07:09 +0000 (23:07 +0000)]
Patch from Timothy Baldridge
* add irix6 to GHOST windowing system (same as linux2 et al)
* fix faulty return lines in shrinkwrap.c
Martin Poirier [Tue, 21 Oct 2008 22:38:32 +0000 (22:38 +0000)]
Fixed Subdivision method (subdivide in a set number of bones).
Subdivision method cleanup (reuse more code)
Martin Poirier [Tue, 21 Oct 2008 17:59:56 +0000 (17:59 +0000)]
Auto Roll:
Bone roll to face the screen on painted strokes.
Martin Poirier [Tue, 21 Oct 2008 16:40:42 +0000 (16:40 +0000)]
Draw subdivision preview for quick strokes and selected strokes (those that would be converted).
Preview can be slightly off for quick strokes since subdivision will be affected by stroke smoothing applied only when a continuous stroke is finished.
Brecht Van Lommel [Tue, 21 Oct 2008 14:46:00 +0000 (14:46 +0000)]
Fix for bug #17881: with SSS disabled, SSS materials didn't
render textures, related to other recent bugfix for baking.
Nathan Letwory [Tue, 21 Oct 2008 10:38:24 +0000 (10:38 +0000)]
* improvement for CSizeof
- instead of fiddling around with strings, just compare pointers. (It's a good thing we have ideasman_42)
Campbell Barton [Tue, 21 Oct 2008 09:08:46 +0000 (09:08 +0000)]
more python 2.3 compat, should be the last of it.
Joshua Leung [Tue, 21 Oct 2008 08:53:39 +0000 (08:53 +0000)]
Duplicating bones in EditMode didn't set the custom-shape and bone-groups too.
Joshua Leung [Tue, 21 Oct 2008 08:30:02 +0000 (08:30 +0000)]
Bugfix:
"Warning: binarysearch_bezt_index encountered invalid array" errors were being displayed in the console. Was caused by 3d-view show-keyframe for infostring stuff, when an IPO being checked had no keyframes.
Nathan Letwory [Tue, 21 Oct 2008 08:27:38 +0000 (08:27 +0000)]
* Add some missing docu for Blender.Types
* Fix potential crash in CSizeof()
Joshua Leung [Tue, 21 Oct 2008 08:00:19 +0000 (08:00 +0000)]
Bugfixes:
- Adding constraint using button in panel still didn't update Armature Editing buttons properly.
- Minor code tidying of earlier bugfix for armatures
- 'For Transform' option for Limit constraints is now only taken into account for constraints that are enabled.
Joshua Leung [Tue, 21 Oct 2008 01:40:47 +0000 (01:40 +0000)]
#17873: "switch direction" for bones can cause infinite loop
Second attempt at fixing this bug. Previous fix caused segfault when all bones in a chain are selected. Now it should segments which are selected (i.e. get swapped) will get unparented from segments that aren't (i.e. aren't swapped, so are still in old orientation)
Martin Poirier [Tue, 21 Oct 2008 01:11:18 +0000 (01:11 +0000)]
[#17873] "switch direction" for bones can cause infinite loop
Stop the infinite loop, but it could be loosing parent relations that it kept before. Aligorith needs to review.
Campbell Barton [Tue, 21 Oct 2008 00:21:02 +0000 (00:21 +0000)]
py 2.3 compat for lightwave_import and wizard_curve2tree
Campbell Barton [Mon, 20 Oct 2008 23:21:01 +0000 (23:21 +0000)]
renamed WITH_BF_BPYDOC to WITH_BF_DOCS, added SConscript for building BGE docs too.
Martin Poirier [Mon, 20 Oct 2008 20:16:33 +0000 (20:16 +0000)]
Add undo push for quick strokes conversion
Martin Poirier [Mon, 20 Oct 2008 18:55:09 +0000 (18:55 +0000)]
Quick Strokes option
When turned on, edit mode armature act as usual, but LMB can be directly used to paint strokes or poly lines which will be directly converted to bones once ended (with RMB).
Esc now cancels the current stroke instead of ending it (more useful with quick strokes).
Video online:
http://blenderartists.org/~theeth/bf/etch-a-ton/quick_strokes.ogv
Campbell Barton [Mon, 20 Oct 2008 13:36:18 +0000 (13:36 +0000)]
fix for [#17871] PLY file import: blender seems to loose vertex color information
use Mesh rather then NMesh
Nathan Letwory [Mon, 20 Oct 2008 12:33:31 +0000 (12:33 +0000)]
=== Blender Python API ===
After some discussion with Campbell, changed the way cstruct sizeof is fetched.
Moved DataSize() to Blender.Types.CSizeof(Blendertype). Supported types return sizeof(data struct), otherwise -1.
To quickly check what types are supported:
import Blender.Types as bt
x = dir(bt)
for t in x:
if t[0] != '_':
s = 'bt.CSizeof(bt.' + t + ')'
print t,"=", eval(s)
Joshua Leung [Mon, 20 Oct 2008 09:35:07 +0000 (09:35 +0000)]
Another constraint panel (in Armature Editing Panels) bugfix. This time, when adding a new constraint using vertical layout.
Joshua Leung [Mon, 20 Oct 2008 09:24:25 +0000 (09:24 +0000)]
A few warnings missed in previous sweep
Joshua Leung [Mon, 20 Oct 2008 06:39:08 +0000 (06:39 +0000)]
Reduced number of MSVC compiler warnings (mostly just casting issues).
Joshua Leung [Mon, 20 Oct 2008 04:53:49 +0000 (04:53 +0000)]
- Bugfix: 'Hide' button for PoseMode bones (in Editing Buttons) was setting the 'Mult' flag instead
- Tidied up comments in Action Editor code a bit
Martin Poirier [Mon, 20 Oct 2008 00:48:10 +0000 (00:48 +0000)]
merge 16951:17122
Martin Poirier [Mon, 20 Oct 2008 00:27:33 +0000 (00:27 +0000)]
Merge 16964:17122
Martin Poirier [Mon, 20 Oct 2008 00:04:40 +0000 (00:04 +0000)]
Adding undo push and redraw for convert calls.
Joshua Leung [Sun, 19 Oct 2008 23:52:28 +0000 (23:52 +0000)]
Fixed overlapping panels in Armature Buttons that resulted after adding a constraint/IK using the hotkeys.
Nathan Letwory [Sun, 19 Oct 2008 23:20:17 +0000 (23:20 +0000)]
=== Blender Python API ===
* add DataSize() to module level
with this one can get datablock struct size.
Nathan Letwory [Sun, 19 Oct 2008 22:09:45 +0000 (22:09 +0000)]
forgot to add removeRenderLayer() documentation
Nathan Letwory [Sun, 19 Oct 2008 22:01:46 +0000 (22:01 +0000)]
=== SCons ===
[#17867] Adds option to SCONS to generate Python API documentation
Added patch from Brandano with some small improvements (BF_DOCDIR, clean) by yours truly.
To use make sure you have epydoc installed. Enable with WITH_BF_BPYDOC=1.
Nathan Letwory [Sun, 19 Oct 2008 21:39:50 +0000 (21:39 +0000)]
=== Blender Python API ===
* fix two typos in RenderLayer API (renderosiy -> renderosity in two places. Will break .py's saved with render_save_layers.py, just fix passRadiosiy and passRadiosiyXOR)
* add some docs on RenderLayer API
* fix some copy/paste leftover in render_save_layers.py
Ken Hughes [Sun, 19 Oct 2008 21:25:17 +0000 (21:25 +0000)]
Added WITH_BF_NOBLENDER to scons so that blenderplayer can be compiler by itself (false by default). Also added dependency for 'blender' on command line; seems 'blender' was intended to be a target, but would give the error "Do not know how to make target `blender' ".
Campbell Barton [Sun, 19 Oct 2008 15:53:22 +0000 (15:53 +0000)]
modified OBJ import and export UI's to be less confusing with nicer layout. removed an unneeded workaround in fbx export.
Nathan Letwory [Sun, 19 Oct 2008 13:51:52 +0000 (13:51 +0000)]
* small code change from Split to env.Glob()
Nathan Letwory [Sun, 19 Oct 2008 13:48:37 +0000 (13:48 +0000)]
=== BPy API ===
* Add read access for octree resolution
Campbell Barton [Sun, 19 Oct 2008 06:12:11 +0000 (06:12 +0000)]
only set the SDL audio driver to alsa when not running in background mode and when blender is compiled with SDL.
Campbell Barton [Sun, 19 Oct 2008 04:02:37 +0000 (04:02 +0000)]
source/blender/blenloader/intern/readfile.c - use memmove rather then strncpy for overlapping strings.
source/blender/blenlib/intern/fileops.c - zero length strings would check for a slash before the strings first char.
source/gameengine/GameLogic/SCA_JoystickSensor.cpp - m_istrig_prev was not initialized
source/blender/src/editmesh.c - active face pointer was not set to NULL in free_editMesh()
Joshua Leung [Sun, 19 Oct 2008 03:41:49 +0000 (03:41 +0000)]
Few tiny cleanups in Action Editor code (comments only)
Martin Poirier [Sun, 19 Oct 2008 03:33:53 +0000 (03:33 +0000)]
Self intersection detection for gestures.
Two new gestures:
- Merge: remove cuts on a stroke (gesture is a circle around the cuts to remove). The encircled points are changed to continuous points.
- Convert: convert selected strokes to bones (gesture is a stroke that loops back on itself once).
Note that all those different gestures are experimental. First, to get a good hang on recognition. Second, to try different things.
Martin Poirier [Sun, 19 Oct 2008 00:35:00 +0000 (00:35 +0000)]
Alt-C and Del/X for convert and delete (no confirmation, no undo, LIVE ON THE EDGE!)
Fix bug with mouse selection (would selected last stroke when clicking in empty space).
Martin Poirier [Sat, 18 Oct 2008 23:54:09 +0000 (23:54 +0000)]
Delete Gesture:
2 segments gesture, going back and forth over a stroke (intersecting twice, angle between segments > 120). Can delete more than one stroke at once. Stroke crossed only once are not deleted.
Martin Poirier [Sat, 18 Oct 2008 22:16:42 +0000 (22:16 +0000)]
Gesture recognition:
- straight segments are extracted from the strock
- Cut gesture is now on straight strokes only
Trim Gesture:
- Two segments gesture. First segment indicates where the cut is, second indicates which side to trim.
Gesture / Stroke intersection bugfix: better code to deal with perspective (this is very brute force still).
Benoit Bolsee [Sat, 18 Oct 2008 18:37:58 +0000 (18:37 +0000)]
BGE bug #17858 fixed: [SHOWSTOPPER] BGE Memory leak. The memory leak has been identified and fixed in bullet.
Campbell Barton [Sat, 18 Oct 2008 13:33:27 +0000 (13:33 +0000)]
patch [#17856] Correction on docs for Ipo module. from Lucas Vella (lvella) + some other minor changes.
Campbell Barton [Sat, 18 Oct 2008 13:23:30 +0000 (13:23 +0000)]
Added joystick epydocs, only changed incorrect docstrings in SCA_JoystickSensor.cpp
patch [#17857] HotKeys Update by dfelinto - SmoothStroke and Anchored.
Made own edits, removed videoscape and added curve and armature specials.
Campbell Barton [Sat, 18 Oct 2008 09:04:25 +0000 (09:04 +0000)]
* Fixed eekadoodle problem where faces with a zero index vert in the wrong place would reotate the UVs and VCols incorrectly
* Fixed an error that made IndexedLineSet and IndexedPointSet not load for x3d's
* Added support for opening gzip x3d/wrl files
Martin Poirier [Fri, 17 Oct 2008 21:52:50 +0000 (21:52 +0000)]
Skeleton Sketching
Cut gesture: drawing a line with RMB adds exact points (joints in the final skeleton) on strokes. Can cut multiple strokes at once as long as it cuts each one only once (this could be changed).
Shape of the gesture doesn't matter, but eventually it would be straight lines shapes for cuts.
Campbell Barton [Fri, 17 Oct 2008 19:06:24 +0000 (19:06 +0000)]
x3d and vrml importer for loading thes files as static scenes. x3d needs a full python install. VRML97 files can be imported without python.
for details on what is supported see
http://wiki.blender.org/index.php/Scripts/Manual/Import/X3D_VRML97#Compatibility
Brecht Van Lommel [Fri, 17 Oct 2008 13:36:40 +0000 (13:36 +0000)]
Fix for bug #17829: with ATI drivers, GLSL shadows crashed on physics
'show pivot' drawing in the viewport. Also added checks for some other
cases where this could happen.
Brecht Van Lommel [Fri, 17 Oct 2008 13:34:20 +0000 (13:34 +0000)]
Fix for imagepaint soften tool giving a bit too dark results,
due to poor float-to-char conversion.
Benoit Bolsee [Fri, 17 Oct 2008 09:24:35 +0000 (09:24 +0000)]
BGE bug fix (continuation of previous bug fix):
- Forgot to make SCA_ISensor::UnregisterToManager() virtual to intercept active-inactive transition on collision sensor to clear colliders reference.
- Don't record collision on inactive sensor.
This situation occurs when an object with an inactive collision sensor collides with an object with an active collision sensor: the collision handler triggers both sensors.
The result of this bug was pending references that eventually cause temporary memory leak (until the sensor is reactivated).
Martin Poirier [Fri, 17 Oct 2008 04:17:16 +0000 (04:17 +0000)]
Bugfixes for sketching with multiple 3d view (correct update and poly line preview in all views).
Fixed a bug with correlation conversion (matrix application wasn't done at the correct place).
Benoit Bolsee [Thu, 16 Oct 2008 23:33:40 +0000 (23:33 +0000)]
BGE showstopper bug fix:
- Reset hit object pointer at end of frame of touch sensor to avoid returning invalid pointer to getHitObject().
- Clear all references in KX_TouchSensor::m_colliders when the sensor is disabled to avoid loose references.
- Test GetSGNode() systematically for all KX_GameObject functions that can be called from python in case a python controller keeps a reference in GameLogic (bad practice anyway).
Martin Poirier [Thu, 16 Oct 2008 21:48:35 +0000 (21:48 +0000)]
First draft for sketching gestures.
Destures are done with RMB drag
ESC can now also be used to end a polyline.
Martin Poirier [Thu, 16 Oct 2008 21:43:25 +0000 (21:43 +0000)]
[#17845] View Snapping causes background grid confusion
view needs to be reset while moving to take care of view snapping properly.
Martin Poirier [Wed, 15 Oct 2008 21:25:42 +0000 (21:25 +0000)]
Color fade out to indicate the direction of a stroke.
Martin Poirier [Wed, 15 Oct 2008 19:31:32 +0000 (19:31 +0000)]
Subdivision schemes for continuous strokes:
Subdivide in equal length bones
Subdivide by correlation (linearity limits)
Code borrowed in parts from the skeleton generator. Will be eventually reuse code more efficiently.
Campbell Barton [Tue, 14 Oct 2008 23:43:08 +0000 (23:43 +0000)]
vrml exporting with images was broken.
Campbell Barton [Tue, 14 Oct 2008 22:31:10 +0000 (22:31 +0000)]
cleanup epydoc errors
Andrea Weikert [Tue, 14 Oct 2008 20:27:37 +0000 (20:27 +0000)]
== windows installer ==
small update for release 2.48 - no need to re-tag
Martin Poirier [Tue, 14 Oct 2008 20:03:21 +0000 (20:03 +0000)]
Convert and Delete only selected strokes.
Convert no longer remove converted strokes.
Akey -> select all/deselect all strokes