Commit Graph

1587 Commits

Author SHA1 Message Date
Sergej Reich
5a51800a41 Compile fix
Patch [#34075] by Davis Sorenson (dsavi), thanks.
2013-02-01 16:03:42 +00:00
Brecht Van Lommel
496c3e4f8f Fix #34070: set origin operator did not work for lattice objects. 2013-02-01 15:17:39 +00:00
Campbell Barton
2e822e30b1 add collision masks to copy-game-physics settings. (another GGJ missing feature :) ) 2013-01-28 06:56:47 +00:00
Campbell Barton
774ff1c246 style cleanup: also remove unneeded NULL check. 2013-01-28 01:59:59 +00:00
Dalai Felinto
236bc27484 Operators name "cleanup"
The operator names all show up in the Search button. As such is nicer if they
can all have the main words capitalized.

e.g. "Snap strips" should be "Snap Strips"
     "Copy to clipboard" should be "Copy to Clipboard"

This was done with a mix of bash tools, regex, and manual work because I'm too rushed into regex :)

+ fix bge stereo eye separation tooltip
2013-01-27 07:23:58 +00:00
Sergej Reich
c84383301c Fix [#34005] blender will close immediately in debug mode on deleting objects
Was silly mistake from rigidbody merge, base was used after it's been
freed.

Now don't free base in BKE_scene_base_remove() and rename it to
BKE_scene_base_unlink().
2013-01-26 17:38:45 +00:00
Joshua Leung
44060daacf Porting over hotkeys for adding rigidbody objects (from original branch)
* Ctrl-R          = Add Active
* Ctrl-Shift-R = Add Passive
* Ctrl-Alt-R    = Remove
2013-01-26 05:34:06 +00:00
Sergej Reich
47c96081d0 rigidbody: Add rigid body constraints
Constraints connect two rigid bodies.
Depending on which constraint is used different degrees of freedom
are limited, e.g. a hinge constraint only allows the objects to rotate
around a common axis.

Constraints are implemented as individual objects and bahave similar to
rigid bodies in terms of adding/removing/validating.

The position and orientation of the constraint object is the pivot point
of the constraint.

Constraints have their own group in the rigid body world.

To make connecting rigid bodies easier, there is a "Connect" operator that
creates an empty objects with a rigid body constraint connecting the selected
objects to active.

Currently the following constraints are implemented:
* Fixed
* Point
* Hinge
* Slider
* Piston
* Generic

Note: constraint limits aren't animatable yet).
2013-01-23 05:56:56 +00:00
Sergej Reich
2d8637946b rigidbody: Add rigid body simulation
Add operators to add/remove rigid body world and objects.
Add UI scripts.

The rigid body simulation works on scene level and overrides the
position/orientation of rigid bodies when active.
It does not deform meshes or generate data so there is no modifier.

Usage:
* Add rigid body world in the scene tab
* Create a group
* Add objects to the group
* Assign group to the rigid body world
* Play animation
For convenience the rigid body tools operators in the tools panel of the 3d view
will add a world, group and add objects to the group automatically so you only have
to press one button to add/remove rigid bodies to the simulation.

Part of GSoC 2010 and 2012.
Authors: Joshua Leung (aligorith), Sergej Reich (sergof)
2013-01-23 05:56:44 +00:00
Sergej Reich
089cf12435 rigidbody: Add point cache support
Add read/write/interpolate functions.

In order to get rigid body point cache id from object it's now required to pass the
scene to BKE_ptcache_ids_from_object().

Rigid body cache is drawn in the orange color of the bullet logo.
2013-01-23 05:56:34 +00:00
Sergej Reich
27601aaf01 rigidbody: Add DNA/RNA/BKE infrastructure for the rigid body sim
This is just the basic structure, the simulation isn't hooked up yet.

Scenes get a pointer to a rigid body world that holds rigid body objects.
Objects get a pointer to a rigdid body object.

Both rigid body world and objects aren't used directly in the simulation
and only hold information to create the actual physics objects.

Physics objects are created when rigid body objects are validated.
In order to keep blender and bullet objects in sync care has to be taken
to either call appropriate set functions or flag objects for validation.

Part of GSoC 2010 and 2012.
Authors: Joshua Leung (aligorith), Sergej Reich (sergof)
2013-01-23 05:56:22 +00:00
Campbell Barton
1e3a2931ac fix [#33889] Unexpected weights after parenting with Empty Groups
out of range dvert's are now cleared before adding new-empty groups.
2013-01-22 10:51:57 +00:00
Sergey Sharybin
04affbe80e Support normalized displacement maps in cases maximal distance is not set
This will calculate maximal distance automatically and normalize displacement
to it. Before this change normalization will not happen at all in cases max
distance is not set manually.

This affects on "regular" baker only, there are still some fixes to come for
multiresolution baker, but that could be solved separately.
2013-01-21 09:05:05 +00:00
Bastien Montagne
b8116ed659 "Fix" for [#33903] Wrong description string in "remove vertices from vertex group" function - just making the tooltip describe both possible actions by this op! 2013-01-17 13:29:32 +00:00
Campbell Barton
5e4bc5a4f8 patch [#33687] select similar lamp
by Saurabh Wankhade (sauraedron), with some edits.
2012-12-28 11:24:07 +00:00
Campbell Barton
7730ddb3d6 code cleanup:
- free_dverts -> BKE_defvert_array_free
- copy_dverts -> BKE_defvert_array_copy

also move the functions from BKE_mesh into BKE_deform
2012-12-28 09:06:48 +00:00
Ton Roosendaal
bfcb1d4cde Bug fix, own collection.
"Add Group" was excluding linked library objects.
2012-12-27 15:55:37 +00:00
Antony Riakiotakis
b28848063f Fix: after multires baking, gpu textures were not getting invalidated
for images and viewport was not getting refreshed with new baked
textures. Now made sure this happens. The image list is copied to the
job custom data so that the custom data cleanup function can properly
delete them (if gpu image texture deletion does not happen on main
thread, image bindcodes will remain intact for original images)
2012-12-26 20:38:20 +00:00
Ton Roosendaal
cffd10a7c8 Todo item:
- Drop group into 3d window now puts itself at mouse cursor location.
- Drop objects into 3d window now doesn't move the 3d cursor anymore.

Added new function ED_view3d_cursor3d_position() to handle this,
so the temporarily object-drop operator macro also could go away.
(Which was setting 3d cursor)
2012-12-26 16:24:50 +00:00
Bastien Montagne
ba14beb000 Code cleanup: add usual 'BKE_' prefix to 'public' constraint functions from blenkernel... 2012-12-23 11:31:15 +00:00
Ton Roosendaal
3ca00cbf54 Outliner:
Added drag-drop support for Groups. On drop in 3d window it creates an instance.

Todo: it adds this on 3d cursor position still. The existing drop-object-duplicate operator
is a Macro - with warning. For adding on mouse-cursor position we need a better
way (new function call, just use operator option).
2012-12-22 18:34:17 +00:00
Campbell Barton
7dca6dbf0b code cleanup:
make vertex/weight flag names consistent
ME_EDIT_VERT_SEL   --> ME_EDIT_PAINT_VERT_SEL
ME_EDIT_PAINT_MASK --> ME_EDIT_PAINT_FACE_SEL

also remove unused header BLO_soundfile.h
2012-12-22 14:25:34 +00:00
Campbell Barton
2a5cabb039 code cleanup and minor changes
- use DummyRNA_NULL_items to replace empty enums.
- replace calloc with malloc in copy_dverts since its copied over after.
- add wmGesture->userdata, so operators that use gestures have somewhere to store their own data (not used yet).
2012-12-22 01:08:42 +00:00
Sergey Sharybin
cdb6aad54c Multires baker: renamed Number of Rays to Samples after discussion with Brecht 2012-12-19 12:30:39 +00:00
Sergey Sharybin
62988549a1 Multirs baker: support for threaded baking 2012-12-19 08:13:41 +00:00
Sergey Sharybin
460a961975 Multires baker: made octree aware of user-defined resolution in performance panel 2012-12-18 17:46:54 +00:00
Sergey Sharybin
6571713ddb Ambient occlusion baker from multi-resolution mesh
This implements AO baking directly from multi-resolution mesh with much
less memory overhead than regular baker.

Uses rays distribution implementation from Morten Mikkelsen, raycast
is based on RayObject also used by Blender Internal.

Works in single-thread yet, multi-threading would be implemented later.
2012-12-18 17:46:42 +00:00
Sergey Sharybin
6b3e880311 Move multires baker into own file in render/
Currently will only keep object editor a bit clearer, but in
the future will be needed because of using some internal renderer
data structures.
2012-12-18 17:46:26 +00:00
Campbell Barton
899ba3fdb6 style cleanup 2012-12-18 01:46:15 +00:00
Brecht Van Lommel
779375251c Fix #33487: game engine did not convert objects with rotation modes other than
Euler XYZ correctly, was never implemented;
2012-12-17 21:40:28 +00:00
Ton Roosendaal
95225cf110 Bug fix, IRC report.
With 2 windows, 2 scenes, linked objects:
- enter editmode in 1 window.
- the other window allowed to enter editmode too.
- and crash happened on exit editmode.

Since editmode is in Context (scene->obedit) a bad conflict arises.

New function BKE_object_is_in_editmode() returns this info outside of
context. Note I didn't use BMEdit_FromObject() because of the assert().

NOTE: contextual storage of editmode could need rework... five places:
- ob->mode / ob->restore_mode
- scene->object
- CTX_data_edit_object()
- BKE_object_is_in_editmode()
- view3d mode handling menu
2012-12-17 14:51:06 +00:00
Ton Roosendaal
b61958c80d Bugfix 33560
Setup: 2 windows, 2 scenes, shared objects and groups.

Errors:
- editing in 1 window, didn't correctly update shared stuff in the other
  (like child - parent relations)
- deleting group members in 1 scene, could crash the other.

Fixes:
- On load, only a depsgraph was created for the "active" scene. Now it makes
  depsgraphs for all visible scenes.
- "DAG ID flushes" were only working on active scenes too, they now take
  the other visible into account as well.
- Delete object - notifier was only sent to the active scene.

All in all it's a real depsgraph fix (for once!) :) Using multi-window and
multi-scene setups now is more useful.
2012-12-17 12:03:31 +00:00
Bastien Montagne
ab2c273b12 Added GPL header to sconscripts!
Also changed shebang to '#!/usr/bin/env python', this is more portable across unixes...
2012-12-17 08:01:43 +00:00
Campbell Barton
18cb2d208c code cleanup: use 'const float *' when getting the 3d cursor and not editing it. 2012-12-17 05:38:50 +00:00
Ove Murberg Henriksen
635099fdbc Reverting rev 53044 because it broke something and was wrong.
I also added comment to avoid this happening in the future.
2012-12-16 02:29:46 +00:00
Ove Murberg Henriksen
a837d9a896 Fixing name of a function to be consistent with the rest of the code. 2012-12-15 23:52:39 +00:00
Ove Murberg Henriksen
8ec289739e Changed some comments to make more sense. 2012-12-15 22:47:57 +00:00
Ove Murberg Henriksen
0ac1424264 Bugfix: [#33513] Transfer weights mixing up.
Removal of this line fixed the bug. 

But!

I suspect it opens up for an excaption.
I will try to identify the exception and handle it in a different way.
2012-12-15 20:32:32 +00:00
Ove Murberg Henriksen
114459e7f6 Pure style cleanup. 2012-12-15 19:56:25 +00:00
Sv. Lockal
dd2d54bae9 Use own list of actions for Vertex Group Lock operator instead of reusing Select All actions.
Previous actions and descriptions were confusing, e. g. UnLock All used the description of Deselect All.
2012-12-12 10:21:24 +00:00
Campbell Barton
7c699a217a define the size of matrix args for both rows/cols. 2012-12-11 14:29:01 +00:00
Campbell Barton
22505c10f8 fix [#33442] Units
adding meshes were scaling the user input values so the distance on the button didnt relate to the scale of the object added.

Now use an invoke function that scales unset default values.
2012-12-09 10:48:18 +00:00
Campbell Barton
767bfba808 cmake was missing some header files. 2012-12-04 14:43:42 +00:00
Brecht Van Lommel
a2bf2ba7df Fix transfer weight tool enum properties all showing question mark icons,
these should have no icons.
2012-11-30 18:54:56 +00:00
Campbell Barton
9653c929ed skip recalculating tessface when adding objects if 'EnterEdit-mode' is disabled. 2012-11-29 02:37:39 +00:00
Brecht Van Lommel
b43c022373 Move to layer: remove the OK button and make it apply immediately like it did
before, is much nicer workflow. Now only if global undo is disabled will the
OK button show.

This is also a more generic fix for #26891 that solves other operators that
were also broken with global undo disabled.
2012-11-27 16:02:15 +00:00
Brecht Van Lommel
c91562d0ff Fix #33310: unnecessary redraw of outliner when editing materials and textures. 2012-11-26 08:52:07 +00:00
Campbell Barton
ea828fd20e code cleanup: warnings, style 2012-11-25 15:05:17 +00:00
Brecht Van Lommel
748216ad3d Fix #33296: uv editing did unnecessary outliner redraw, giving slowdown. 2012-11-25 06:55:39 +00:00
Brecht Van Lommel
f68b550587 Fix #33241: can't exit edit mode when object gets hidden via animation. 2012-11-21 03:33:34 +00:00