Commit Graph

47594 Commits

Author SHA1 Message Date
Martin Poirier
8f2b2d32cf view3d orbit and rotate operators now check for rv3d viewlock in their poll functions (this means you can also set mmb = pan later in the keymap to pan locked views with mmb only). 2009-12-29 20:11:13 +00:00
Tamito Kajiyama
3bc3e454f0 Added #include <math.h> to suppress a warning with regard to
redefinition of M_PI.
2009-12-29 19:08:01 +00:00
Campbell Barton
7831edbc59 needed for win32's msvc. 2009-12-29 18:57:59 +00:00
Campbell Barton
010e3fccb2 bake operator and UI, no feedback while baking yet 2009-12-29 18:55:38 +00:00
Dalai Felinto
e37e3845a1 BGE: stereoscopic settings changes: (1) eye separation is the UI (2) focallength uses camera focallength
Now the default eye separation value is 0.10 (reasonable for games with 1 meter == 1 B.U.
The focallength used is the camera focal length (DOF settings). It allow you to even use different focal lengths for different scenes (good for UI)

In order to change it you can change the camera focal length or use Rasterizer.setFocalLength.
If you use the Rasterizer method it will use this value for all the cameras.

ToDo:
- Blenderplayer settings
- Update wiki documentation (any volunteer)?

* Note to stereo fans:
I don't have a real stereo environment to test it (other than cheap cyan-red glasses). If you can give it a try in a more robust system and report bugs or problems with BGE current system please let me know. I would be glad to help to make it work 100% by the time Blender 2.5 is out.

For the record, BGE is using the method known as 'parallel axis asymmetric frustum perspective projection'. This method is well documented here:
http://local.wasp.uwa.edu.au/~pbourke/miscellaneous/stereographics/stereorender/
2009-12-29 15:47:20 +00:00
Campbell Barton
1cfb5ffb5d arg!, my secret testing keyword is exposed 2009-12-29 15:47:16 +00:00
Campbell Barton
5cd837a562 * speedup for animating bones, in one scene with sintel and a dragon animated its over 4x faster.
* utility function BLI_findstring to avoid listbase lookup loops everywhere.
  eg: 
    ListBase *lb= objects= &CTX_data_main(C)->object;
    Object *ob= BLI_findstring(lb, name, offsetof(ID, name) + 2);

* made some more math functions use const's, (fix warnings I made in previous commits)
2009-12-29 15:40:26 +00:00
Joshua Leung
0381924456 Bugfix #20503: Add constraint (with targets) menu lacks a window refresh 2009-12-29 11:21:51 +00:00
Joshua Leung
8db1349c2c Modifier Drawing Tweaks:
* Reorganised the (template) drawing code for modifiers, removing some old/commented out code, and grouping related sets of info to draw

* Separated the render/realtime/editmode toggles into a separate row below the modifier name so that the layout is less compressed with narrow properties windows (i.e. on the default setup).
2009-12-29 10:25:14 +00:00
Martin Poirier
793004319c Make manipulator axis fade away and become invisible when perpendicular to the screen.
Move some more vars to RegionView3D from View3D

Also remove some code no longer used.
2009-12-29 01:12:54 +00:00
Guillermo S. Romero
42154ad226 Add audaspace/fftw to Makefile system. 2009-12-28 23:40:20 +00:00
Campbell Barton
d741b37236 flag to make rna props 'thick wrapped', so returning a property wont try maintain a reference to the original rna property with callbacks.
also needed for functions that return vectors/matrix's
2009-12-28 22:59:09 +00:00
Martin Poirier
d64834a6ce Python attribute lookup. Don't use RNA functions that don't have defined callbacks (can happen for operator functions used for registration only). 2009-12-28 22:48:10 +00:00
Martin Poirier
1503c90f6b Utility function to get the view vector aligned with a specific 3d coordinate. 2009-12-28 22:40:52 +00:00
Campbell Barton
17973dd33d dont register or undo 3D cursor setting 2009-12-28 18:09:16 +00:00
Campbell Barton
8177f343a0 - object.add_shape_key(name="Key", from_mix=True)
- ensure new shape key names are unique
- Transfer ShapeKey now can have its settings changes (redo operator)
2009-12-28 18:03:04 +00:00
Campbell Barton
32656ad4ba moved shape key insert function into BKE_object.h 2009-12-28 15:26:36 +00:00
Campbell Barton
e09d77507e remove operators WM_OT_open_recentfile and WM_OT_open_recentfile_splash
use a python menu instead.
2009-12-28 10:44:02 +00:00
Campbell Barton
98f1d6957e new python module constants
* bpy.home - result of BLI_gethome()
* bpy.version - BLENDER_VERSION/100, BLENDER_VERSION%100, BLENDER_SUBVERSION
* bpy.version_string, as above, formatted: "%d.%02d (sub %d)"
2009-12-28 10:00:04 +00:00
Matt Ebb
fa01205d9a Fix for [#19519] Dope sheet scrollbar goes out of bounds 2009-12-28 08:01:19 +00:00
Matt Ebb
f9ee03f1b1 Got rid of some dead code 2009-12-28 05:14:32 +00:00
Matt Ebb
dbf295b904 Added location and rotation operator properties for adding objects. The Align to View boolean
is now just used to set the rotation property value during invoke.

This removes some reliance on 3d view info for non-interactive use, and also lets you specify
new object's locations/rotations explicitly when calling from Python.
2009-12-28 04:09:46 +00:00
Joshua Leung
860e46082f Assorted Animation/RNA fixes:
* Fix for compiler warning in mesh.c from previous commit
* Fix for wrong name for dopesheet filter button used for meshes
* Added RNA defines for the default values for quaternion and axis-angle rotations, so that clearing these to their default values "does the right thing (TM)"
2009-12-28 03:45:24 +00:00
Matt Ebb
03c1e4374b Fix for [#20032] outliner cuts off long names after pasing them
The system that ensures unique ID names chopped off the end 
of the name to add a number suffix (.001 or so) regardless of 
whether it already had a number or not. In this particular case, 
(no suffix number) it now just shaves off the last letter of the 
name until it's unique.

I've been testing this patch here for a while, and seems to work 
properly, if anyone would like to have a quick look over this 
commit and doublecheck, that would be great too.
2009-12-28 01:31:47 +00:00
Matt Ebb
78aa924206 Change to the way brush/tool selection works, as discussed a while ago
Now, there are preset brushes made for each tool type (eg. for sculpt mode, Grab, 
Draw, Inflate, etc), and the recommended method for changing sculpt tools is to 
change between Brushes. The shortcut keys for changing between tools have 
now been changed to change between named brushes - the G key in sculpt 
mode now changes to any brush named 'Grab'.

The advantages of this are:
* Changing between brushes remembers the strength/size/texture etc settings for 
each brush. This means that for example, you can draw with a strong textured 
Clay brush, but then switch quickly to a weaker, untextured Smooth brush, 
without having to re-do your settings each time.
* You can now add your own custom shortcut keys to your own custom brushes - 
just add a keymap entry similar to the existing ones, that references your own 
custom brush names.

To bring over these new default brushes to an existing B.blend setup, just 
append them in from the new B.blend in svn.
2009-12-28 01:27:05 +00:00
Joshua Leung
be55097353 Mesh Animation + Depsgraph Tweaks:
* Mesh data/settings can now be animated. It is not recommended that geometry be animated directly, but other settings such as autosmooth, etc. can be...

* Code cleanups for depsgraph, making sure that drivers get included for all object data types.
2009-12-28 00:52:31 +00:00
Jens Ole Wund
ff31d2d65c Try to get soft body to curve working 2009-12-28 00:07:24 +00:00
Joshua Leung
310d417334 Curve/Nurbs/Font Animation Bugfixes:
* NURBS and Font animation data now appear in the animation editors. 

* Fixed depsgraph tagging code for determining if the AnimData attached to object data blocks (i.e. animation for curve or lamp data) needs to be tagged for updates on frame changes. This means that animating curve settings now works.
2009-12-27 23:37:13 +00:00
Campbell Barton
351f5d1837 - loading missing files didnt give any warning
- shape key transfer poll function
2009-12-27 23:29:34 +00:00
Campbell Barton
532b5e7bba WIP console text selection, modal selection operator and selection drawing.
word wrap and clipboard are not working yet.
2009-12-27 20:22:06 +00:00
Martin Poirier
280a1d09f6 Partial fix for [#20166] Snap to grid issues
Move gridview (the actual drawn grid size, including adaptation to zoom) to RegionView3D from View3D.

This solves the transform increment bug but not the Snap Menu bug (context is not set to the correct rv3d when executing operator from menu).
2009-12-27 18:09:17 +00:00
Martin Poirier
d1f1583c79 Wrong description in WM_OT_call_menu 2009-12-27 17:57:24 +00:00
Campbell Barton
0767cdd4a0 Transfer Shape Key
Useful if you have 2 different characters with the same base mesh (matching indicies), and want to copy a facial expression for eg, from one to another.
Durian request to re-use shapes between characters. 

* Copies the active shape to other selected objects
* Different methods to apply the shape
* * OFFSET, simple translation offset
* * RELATIVE (EDGE/FACE), Use Barycentric transformation to copy the shape. This means the target mesh can be a different orientation and scale and the shape should still apply since the surrounding geometry is used as a basis for the offset.

bug: barycentric transform's depth was inverted.

Note:
* This isnt added into a menu yet,
* This cant be redone since adding a shape key messes up the redo stack. needs fixing for other scripts too.
2009-12-27 11:14:06 +00:00
Joshua Leung
eb766f1d3f DopeSheet + Graph Editor hotkey tweak:
Made the TAB key toggle the editability of selected channels in the keyframes area in addition to the channels list.
2009-12-27 01:36:32 +00:00
Campbell Barton
fde4686d77 barycentric transform utility geometry function.
From 2 triangles and 1 point, the relative position between the point and the first triangle is applied to the second triangle to find the target point.
the barycentric weights are calculated in 2D space with a signed area so values outside the triangle bounds are supported.

wrapped by python:
 pt_to = Geometry.BarycentricTransform(pt_from, t1a, t1b, t1c, t2a, t1b, t1c)

NOTE: 
- moved some barycentric weight functions out of projection painting into the math lib.
- ended up making some of the math functions use const args.
TODO:
- support exceptional cases. zero area tries and similar.
2009-12-27 01:32:58 +00:00
Joshua Leung
9c82e1efc3 Bugfix 20469: Graph Editor Keyframes jumping around with NLA strips
NLA corrections for Graph Editor transforms was wrong way around, causing jumping issues when trying to transform the keyframes.
2009-12-27 01:28:13 +00:00
Campbell Barton
d5592fe254 fixes for errors/warnings found with cppcheck 2009-12-26 20:23:13 +00:00
Campbell Barton
5689ab3975 classmethods were excluded from docs, hide self & cls arguments for functions and class methods,
made some rna ui funcs not display as optional.
2009-12-26 17:49:08 +00:00
Campbell Barton
24ab5416da * sphinx docgen *
py_function_args wasnt working right (was using function namespace for function args), use pythons inspect module instead.
move the function to get a type description into rna_info
2009-12-26 16:47:25 +00:00
Janne Karhu
20ab9a4d9b Particles bug fix: Particle birth location between frames weren't calculated correctly for moving emitters as the functionality of where_is_object_time has changed a bit in the new anim system. 2009-12-26 15:59:07 +00:00
Joseph Eagar
473f235a6e pre-merge commit; decided might as well get it over with. 2009-12-26 08:47:38 +00:00
Campbell Barton
ffe13aeb23 the user interface could access invalid RNA on deleting objects since checking the button ran after freeing the data. 2009-12-26 01:04:46 +00:00
Janne Karhu
7a19832a78 Fix for [#20294] Switching to particle mode after changing number of hair particles causes blender to crash.
* Particle edit mode wasn't freed when the particle amount was changed.
2009-12-26 00:17:54 +00:00
Campbell Barton
266271d65a - closing the user prefs accessed the temp screen after removing it.
- colorband drawing could use un-initialized vars (probably wouldnt crash)
2009-12-26 00:17:45 +00:00
Campbell Barton
fb4f78513e invalid memory access fix 2009-12-25 23:59:12 +00:00
Janne Karhu
fc066a6a5d Fix for [#20458] Segmentation fault when trying to enable Hair dynamics
* The hair mesh vertex index was stored as a short, but vertex counts can easily go higher than what fits in a short so changed this to an int.
* Also removed particle life looping, which didn't work correctly anyways. Similar functionality will become available when I get to recoding reactor particles into a better system.
2009-12-25 23:51:29 +00:00
Campbell Barton
99e3423a50 fix for accessing invalid memory when loading a new file. 2009-12-25 23:50:35 +00:00
Janne Karhu
b0b3e27471 Particles bug fix: using virtual parents for child particles crashed in some cases. 2009-12-25 22:58:11 +00:00
Campbell Barton
5afd084513 replace dynamic_menu.py with Menu classmethods much less complicated.
access append/prepend eg.

bpy.types.INFO_MT_file_import.append(lambda self, context: self.layout.operator("import_some.format"))
2009-12-25 22:16:19 +00:00
Campbell Barton
be67970303 fix for [#20244] importing .obj without "Object" option checked crashes blender 2009-12-25 20:40:00 +00:00