Commit Graph

1020 Commits

Author SHA1 Message Date
fb62923a84 Fix #30047: Bake from multires crashes if run while sculpt mode is active
Issue was caused by incorrect level used for lowres DM.
2012-02-01 16:56:48 +00:00
101a287040 Fix #30031: Build modifier crashes when applied to bezier object
Just missed check for modifier type.
2012-01-30 20:44:08 +00:00
44850d6946 Fix #29946: Recover Auto Save defaults to "Short List" View -- Cannot determine dates
Added option display_type to WM_operator_properties_filesel which defines which file
display type (short/list/icons/default) should be used for file browser.

All current operators are using FILE_DEFAULTDISPLAY display type which means display
type will still be calculated based on type of opening file and user preferences
settings. Recover Auto Save operator is now using long display type so file date can
easily be checked now.

Reviewed by Andrea, thanks!
2012-01-24 18:18:51 +00:00
cd4123e1db use inline BLI_math functions for dot product and length calculation. 2012-01-22 17:20:37 +00:00
98fd7c2948 Patch [#27790] Drag and drop parenting in outliner
Submitted by Perry Parks (scuey)

From the patch:
This patch enables drag and drop parenting for objects in the outliner.

Drag and drop is supported for a selection of multiple objects as well. Also,
all of the "special" parenting tasks (armature, curve, lattice) are possible
through the usual parenting context menus. For example, drag a mesh object onto
an armature and you are prompted for using bone envelopes, automatic weights,
etc.

Demonstration on Vimeo: http://vimeo.com/25698606
2012-01-22 10:20:30 +00:00
b1667911ef reduce operator lookups in the UI (could do 4 hash lookups per button). 2012-01-22 03:30:07 +00:00
f45a8105ee fix for 'next' being set twice in the for loop from r43588 2012-01-22 00:53:53 +00:00
Dalai Felinto
2139c7080e patch: 'set the right Action Actuator when duplicating an object' by Daniel Macedo
bug and patch not in tracker. little fix by me (replace while loop by for(...;act;...). Thanks Daniel ;)
2012-01-21 23:57:28 +00:00
f0fc8c22bb Fix #27120: Bake to image used for rendering glitch (bake feedback loop)
Detect feedback loop and do not bake to images detected in this loop and show
nice warning message in such cases.

It's a way which wouldn't overcomplicate code trying to duplicate images and so
without real benefit.
2012-01-20 07:43:46 +00:00
a87c5eb52c use color conversions functions in more places.
also add rgba_float_to_uchar, rgba_uchar_to_float
2012-01-19 10:04:51 +00:00
a8081c1d2b Uv Tools branch GSOC 2011
=========================
Documentation: http://wiki.blender.org/index.php/User:Psy-Fi/UV_Tools

Major features include:

*16 bit image support in viewport
*Subsurf aware unwrapping
*Smart Stitch(snap/rotate islands, preview, middlepoint/endpoint stitching)
*Seams from islands tool (marks seams and sharp, depending on settings)
*Uv Sculpting(Grab/Pinch/Rotate)

All tools are complete apart from stitching that is considered stable but with an extra edge mode under development(will be in soc-2011-onion-uv-tools).
2012-01-17 16:31:13 +00:00
e1dd245a1e more keymap edits
- make sure defaults are not assumed (so reuse last settings doesnt
override)
- replace 0/1 for TRUE/FALSE defines.
2012-01-16 16:12:03 +00:00
acb9b46617 use TRUE/FALSE for boolean keymaps, no functional changes 2012-01-16 09:51:04 +00:00
0a5ff84acc fix for defaults not being set for object mode hide and delete keymap. 2012-01-16 09:12:34 +00:00
93017790bc Fix [#29891] Stupid select all behaviour.
More "Reset ops properties" stuff, in select C keymaps this time.

Also ARMATURE_OT_select_inverse -> ARMATURE_OT_select_all(action='INVERT'). Left the select_inverse op code, though, it’s not using the same algo as INVERT of select_all ???
2012-01-14 21:19:41 +00:00
166a37532f remove *.select_inverse operators where the *.select_all operator has an invert option. 2012-01-14 06:58:03 +00:00
e06d82227c adding metaballs and lamps in local mode was broken. 2012-01-13 10:14:48 +00:00
dbdd1c2ea7 Remove vestigial retopo/retopo-paint code. 2012-01-12 22:12:07 +00:00
a2a8cc8798 use skip-save for ED_object_add_generic_props(), not essential - but it was annoying to have 'Reset' move objects to 0,0,0 2012-01-11 20:14:15 +00:00
f66f33cefc rename RNA_property_is_set() --> RNA_struct_property_is_set() in preperation to add a second version of the function which takes the property rather then its name. 2012-01-11 16:32:12 +00:00
51bada696f Longer names support for all ID and other object names
This commit extends limit of ID and objects to 64 (it means 63 meaning
characters and 1 for zero-terminator). CustomData layers names are also
extended.
Changed DNA structures and all places where length constants were hardcoded.

All names which are "generating" from ID block should be limited by MAX_ID_NAME-2,
all non-id names now has got own define called MAX_NAME which should be used all
over for non-id names to make further name migration stuff easier.

All name fields in DNA now have comment with constant which corresponds to
hardcoded numeric value which should make it easier to further update this
limits or even switch to non-hardcoded values in DNA.

Special thanks to Campbell who helped figuring out some issues and helped a lot
in finding all cases where hardcoded valued were still used in code.

Both of forwards and backwards compatibility is stored with blender versions newer
than January 5, 2011. Older versions had issue with placing null-terminator to
DNA strings on file load which will lead to some unpredictable behavior or even
crashes.
2012-01-11 08:51:06 +00:00
f1c229e8b3 Change how object menu selection works, use an operator with an enum rather then a menu with 'OBJECT_OT_select_name',
remove 'OBJECT_OT_select_name' operator since its no longer needed.
2012-01-11 03:40:20 +00:00
482bad6dcc remove spot_interactive() which is now handled by generic py operator. 2012-01-11 02:25:43 +00:00
0e4f4acc2f comment unused vars 2012-01-09 22:18:04 +00:00
fd889253e4 Code cleanup
Removing some old + unused stuff that's not coming back. For example, the code
for the old "specials menu" used everywhere/all contexts.
2012-01-08 04:14:13 +00:00
890c97ca40 more edits to r43145,
- remove redundant check in new prop operator which is covered by operators poll func.
- use get_ob_property to get the object prop in BL_ConvertTextProperty() rather then looping for it.
2012-01-05 06:34:14 +00:00
Dalai Felinto
be025ea319 This patch creates an interface for ["Text"] properties in Font objects.
Interface:
http://www.pasteall.org/pic/show.php?id=23785

Simple test file:
http://www.pasteall.org/blend/10616
(I'll commit this to the text suite later)

Code Explanation:
---------------
(1) it adds a toggle to add/remove a "Text" gameproperty.
 - internally this property is just another game property (so we can find it within the game.properties lookup).
 - the property itself has no 'value', the interface shows the content of ob.data.body instead (why? because gameproperties are per object, while the text is per data).

(2) at BGE converter time it sets the current value of the object.data.body to the ["Text"] property.

(3) if you change object.text (bge text property) it automatically convert ["Text"] to a CStringValue.

*** that means if the original property was a CIntegerValue, it will be converted to CStringValue forever ***

* the only to do I can think of is to add a warning at doversion time if user has ["Text"] property for a Font object *
* when that happens we print a warning in console/popup.*
2012-01-04 21:40:00 +00:00
4e98dbe528 error in recent commit - disallow selecting hidden verts. 2012-01-03 02:45:03 +00:00
1e18da32fb replace:
CTX_data_pointer_get_type(C, "object", &RNA_Object).data
with api call:
  ED_object_context(C)

... since getting the context object is such a common operation.
2012-01-02 17:15:24 +00:00
aa43cab820 weight paint buttons now work in weight paint vertex select mode 2012-01-02 16:59:46 +00:00
3c6e818b22 Object tracking integration
This commits merges object tracking implementation from tomato branch.

Summarized changes from branch:

- Added list of objects to be tracked. Default there's only one object called
  "Camera" which is used for solving camera motion. Other objects can be added
  and each of them will have it;s own list of tracks. Only one object can be used
  for camera solving at this moment.
- Added new constraint called "Object Tracking" which makes oriented object be
  moving in the save way as solved object motion.
- Scene orientation tools can be used for orienting object to bundles.
- Object has got scale to define "depth" in camera space.
- All tools which works with list of tracks or reconstruction data now
  gets that lists from active editing object.
- All objects and their tracking data are available via python api.
- Improvements in witness cameras workflow,
2011-12-30 18:06:02 +00:00
e61ffcffe9 Fix #29687: Normal bake from multires gives distorted results.
It is just a limitation of multires baker which doesn't deal correct with
baking to subdivision level 0. It was supposed to work with levels on which
sculpt data is affecting on mesh, so interpolation between grids works correct.

Fully accurate baking in this case will need raycasting stuff which will make
it much slower and will remove main benefit of regular baker -- speed and
low memory usage.
Another option would be to make multires apply sculpting data on level 0,
but it's not related at baking at all and has got it's own difficulties.
2011-12-29 16:05:09 +00:00
9774c93435 Merging r42770 through r42799 from trunk into soc-2011-tomato 2011-12-21 14:50:05 +00:00
045a91a378 Do not show "Modify" modifiers group for curve objects
This commit prevents adding empty groups to Add Modifier menu making
this menu small and nice for objects which don't support all modifiers
from some group (like Curves don't support Modify modifiers).
2011-12-21 13:31:28 +00:00
Dalai Felinto
056c49e9ec Patch [#29654] New menu option under Object > Game with "Copy All Physics Attributes" by Daniel Macedo
"This is a patch that adds an option under the menu Object > Game to copy all the physics attributes from Game Engine."
2011-12-21 02:41:27 +00:00
921b2ee2d4 Merging r42723 through r42769 from trunk into soc-2011-tomato 2011-12-20 17:24:20 +00:00
738fdc7b6f New modifier type: eModifierTypeType_NonGeometrical, for modifiers affecting CustomData layers only (e.g. UVProject and WeightVG ones).
Also, allow applying to obdata those modifiers, even with shapekeys, but do not allow applying them *as* shapekey (as shapekeys do not have CD layers).

Fix [#29636] Vertex Weight Mix modifier "apply" button don't work.

Note: applying whit shape keys currently always uses base shape, not current one (for apply to obdata as well as apply to shapekey), but this is another topic...
2011-12-20 14:15:59 +00:00
737648a0bf Merging r42648 through r42722 from trunk into soc-2011-tomato 2011-12-19 10:39:40 +00:00
74a1123059 Quite some compiler warnings... 2011-12-17 16:22:08 +00:00
994f4bb3f7 Code cleanup: fix a few warnings (>= 0 and == -1 tests on unsigned types). 2011-12-17 01:13:02 +00:00
4d6c34462c Fix #29640: make duplicates release keep hierarchy and parent properties not
working for multiple objects.

ID.newid only worked for one object, now it uses a hash instead.
2011-12-16 23:56:18 +00:00
3311164b24 Math lib: matrix multiplication order fix for two functions that were
inconsistent with similar functions & math notation:

mul_m4_m4m4(R, B, A) => mult_m4_m4m4(R, A, B)
mul_m3_m3m4(R, B, A) => mult_m3_m3m4(R, A, B)

For branch maintainers, it should be relatively simple to fix things manually,
it's also possible run this script after merging to do automatic replacement:
http://www.pasteall.org/27459/python
2011-12-16 19:53:12 +00:00
ce8f64d9f9 de-duplicate parent loop checking function 2011-12-16 10:39:43 +00:00
e534af906a Object tracking: various fixes and improvements
- Bundles selection is now available for object's bundles
- If bundles selection wasn't changed in 3D viewport, fallback to regular
  object selection, so objects behind bundles can be selected
- Snap cursor to selection now respects object's bundle selection
- Object and rack name now can be selected from list in constraint settings
- Added preset for tracks used for object tracking
2011-12-15 16:10:49 +00:00
ba16e7d631 Object tracking: object with object solver constraint is now parented to scene's camera
Made Object Solver operator parent object to scene's camera. Behavior is pretty much
familiar to Child Of constraint -- it stores inverted transformation matrix which gives
constant offset in parent's space.
Current files would open incorrect, to make object aligned well again, just press
"Set Inverse" button in Object Solver constraint.
Fixed orientation operators so now they should work in all cases.
Also changed behavior of Set Origin operator which now sets origin to the median
point of all selected tracks/
2011-12-15 16:09:57 +00:00
deb95ddb44 Merging r42621 through r42647 from trunk into soc-2011-tomato 2011-12-15 16:04:59 +00:00
27a56719a8 minor vertex group edits
* when freeing a deform weight, use one less memcpy call.
* vgroup_delete_object_mode(), was looping on the deform verts twice when it didn't need to.
2011-12-14 23:53:46 +00:00
3d5330f789 vertex group changes,
use more api functions more (some vertex group editing functions were copied about), also make some functions int oapi calls.

- remove defgroup_find_index(), use BLI_findlink instead since they both work the same way.
- move static function getNearestPointOnPlane() to BLI_math api function closest_to_plane_v3()
- ED_vgroup_give_parray() added option to return an array where unselected verts are NULL (simplifies code & works for lattice when it didn't before).
- more consistant error checking of ob->actdef.
2011-12-14 21:08:08 +00:00
b865c0314f Merging r42533 through r42601 from trunk into soc-2011-tomato 2011-12-13 11:58:59 +00:00
cd0608aff5 Fix #29600: Hook actions wrong Tool Shelf adjust
Do not register hook_assign and hook_remove operators in the redo panel.
2011-12-12 14:54:28 +00:00