Commit Graph

7870 Commits

Author SHA1 Message Date
2f9925f913 Get rid of hardcoded structure definition in DM drawing callbacks
Structures passing to DM callbacks as userData used to be defined in both callee
and callbacks itself which made it difficult and unsafe to add new properties
to user data.

Added typedefs for this structures and use them in callbacks and callee functions.
2011-12-20 08:47:36 +00:00
a7a6049978 minor edits to previous commit & set VKey to toggle vertex select in weight paint mode. 2011-12-20 02:04:35 +00:00
84a58fd7e9 Patch #27085, Restore old 2.49 TAB behaviour for window splitting, by Andre Oliveira
Now this patch only applies to RMB window splitting not the click and drag as that would cause confusion and big mess
2011-12-20 00:46:55 +00:00
1dc74acc12 Object tracking: configurable scale for object solution
Added slider to define scale of object solution which is used to define
"depth" of object relative to camera position. This slider effects on all
"users" of object solution such as bundles display, constrained objects and so.

Added new operator called "Set Solution Scale" to set real scale for object
solution based on real distance between two bundles reconstructed for this object.

New slider and operator can be found on "Object" panel in toolbox when in
reconstruction mode and active tracking object isn't a camera.
2011-12-19 15:12:33 +00:00
a64d92eb13 Fix #29655: keyboard shortcuts missing from text editor text menu, and removed
confirmation popup for creating new text datablock.
2011-12-19 14:23:19 +00:00
Lukas Toenne
26b3dfa30e Automatically hide unused (=unlinked) node sockets in collapsed ("hidden") nodes. This is to make nodes with many sockets cleaner and simpler, which is the purpose of collapsing nodes in the first place.
The hiding code uses the SOCK_IN_USE flags already present. These were only temporarily set by the shader node code for determining needed texture coordinate types. Now they are used persistently and updated along with the sock->link pointers.
2011-12-19 12:04:05 +00:00
Lukas Toenne
a9f0266448 Display button for hiding unused node sockets in the side bar, as an alternative to the removed node header button. 2011-12-19 11:55:35 +00:00
737648a0bf Merging r42648 through r42722 from trunk into soc-2011-tomato 2011-12-19 10:39:40 +00:00
32896bbf59 remove unneeded NULL check in ui_searchbox_create() which confuses static checkers since the values used later. 2011-12-18 22:42:43 +00:00
5d15d8d2ee Object tracking: scale object itself when setting scale in object tracking mode
Also fixed incorrect poll functions which didn't check active object when orienting object.
2011-12-18 18:31:02 +00:00
Lukas Toenne
24785cc16a Removed buttons in node headers for hiding unused sockets and for hiding the (non-socket) option buttons. These are rarely used buttons that only complicate the UI. Alternatively these operators can still be accessed in the Node menu of the node editor window, "Toggle Hidden Node Sockets" and "Toggle Node Options" respectively. 2011-12-18 17:59:04 +00:00
Lukas Toenne
a885d8aee6 Fix for toggle buttons in node headers.
The buttons for "hiding" (collapsing) a node, hiding unlinked sockets, additional options, the preview and for opening a node group were all using a custom mouse test function, which was broken. They now use actual buttons instead of just displaying icons. Before executing the respective operators the button's node has to be selected and activated, so the buttons use an intermediate handle function, which selects the node and then calls the operator.
2011-12-18 12:51:50 +00:00
74a1123059 Quite some compiler warnings... 2011-12-17 16:22:08 +00:00
04fbfc2179 Calculation of the center and normal for sculpting would ignore whether the sculpting tool is using the current vertex positions/normals or the positions/normals from before the current edit. Most of the time this will lead to subtle and hard to predict differences from what a user might expect. There was sum testing and discussion about at the end of last summer and even some screen shots showing the difference. I'm going to go ahead and apply this since I do not think it is controversial. 2011-12-17 03:49:39 +00:00
84236c2502 use 2d copy functions with UV's in more places. 2011-12-17 03:46:38 +00:00
994f4bb3f7 Code cleanup: fix a few warnings (>= 0 and == -1 tests on unsigned types). 2011-12-17 01:13:02 +00:00
ad96dacbc5 style edit only - move parenthesis onto second line of function definition (in keeping with most of blenders code)
also split some long lines in own code.
2011-12-17 00:52:36 +00:00
9276fb479e Automatically update sound animation cache when doing a mixdown. 2011-12-17 00:22:15 +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
5fa014ff02 Fix #29569: region expander widget drawing poorly antialiased. 2011-12-16 22:00:53 +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
68dd398063 remove duplicate if'0'd functions, same versions are in drawarmature.c.
also added note of function to de-duplicate.
2011-12-16 10:30:53 +00:00
e9ab58ad8f Fixed incorrect usage of enum as integer 2011-12-16 10:18:59 +00:00
2253b63c97 static functions for getting power of 2 values were being copied about too much, add to the BLI_math api.
- is_power_of_2_i
- power_of_2_min_i
- power_of_2_max_i
2011-12-16 09:25:07 +00:00
d39adcb478 minor cleanup to mirror code
- MirrTopoPair.hash was 'long' when only needed to be 'int'
- use 'intptr_t' rather than 'long' when the value is cast back to a pointer.
2011-12-16 07:27:56 +00:00
724868b400 fix [#29620] Topology Mirror: not refreshing vertex UUIDs 2011-12-16 04:01:08 +00:00
eb09043411 fix [#29626] Warp tool: stuck Angle value 2011-12-16 03:45:44 +00:00
8a9d901c81 Camera tracking: add camera to follow track and object solver constraint
Object used to be parented to active camera which isn't very convenient when
working with witness cameras.

Now parent camera can be specified in constraint (if it's not specified, active camera is used)
2011-12-15 20:38:23 +00:00
0dbd9ea73f CURVE_OT_extrude doesn't have type property, not sure where it came from here. 2011-12-15 19:32:57 +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
53f37cd1ed Object tracking fixes:
- Do not draw bundles for object for opengl selection
- Display reconstruction info for active object in cache line and graph editor
2011-12-15 16:10:13 +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
ca9ae04220 Fix #29615: Crash during undo after toggling "Float buffer" in image paint mode
Crash was caused by different types of buffers stored in tile in undo stack and in
image itself. Store type of buffer in tile, so byte tile wouldn't be applying on
float image anymore.
2011-12-15 08:01:49 +00:00
9e4d9e066a Fix #29577: repeat curve duplication not working in 2.60(as well as 2.61rc1)
Issue was caused by direct call of transforn operator from extrude and duplicate,
made them macro of duplicate/exturde and transform, so now repeating works nicely.
2011-12-15 07:54:13 +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
40a2c1a292 more vertex weight edits,
* replace inline loops with api calls.
* change constraints so verts with 0.0 weight are ignored like they are everywhere else.
2011-12-14 22:54:38 +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
535aee820b Merging r42602 through r42620 from trunk into soc-2011-tomato 2011-12-14 06:12:20 +00:00
1db55215d0 Do not use a dot in the end of descriptions 2011-12-13 19:40:49 +00:00
60eba40773 First Blender 2.61 commit! (Sneaked in quick tooltop fix too).
A tag will happen after this commit.
2011-12-13 16:44:31 +00:00
6c90a192c6 Do not switch to safe malloc if tracking sequence
Malloc is getting to be safe on sequence tracking by the jobs system,
so no additional set up are necessary.

This hopefully fixes crash on OSX with OpenMP enabled when compiling by older gcc
2011-12-13 16:37:52 +00:00
b865c0314f Merging r42533 through r42601 from trunk into soc-2011-tomato 2011-12-13 11:58:59 +00:00
01478a3743 correction to report message 2011-12-12 20:57:10 +00:00
ba3c6d4d34 Fix #29603: Mode switch on linked objects
Do not allow to enter to weight paint mode for proxied objects.
2011-12-12 18:25:52 +00:00
3e7ad0e271 fix [#29537] file/save crashes when target path isnt found
bug was that uiPupMenuSaveOver(...) could run the WM API call function which freed the operator, within the low level invoke function which kept using the freed memory.

Changed uiPupMenuSaveOver(...) to only show a popup so the caller needs to check if the file exists and should be immediately written (which was done everywhere except for blend saving anyway).

* added note that operators invoke/exec funcs cant call WM_operator_call(...) on themselves, ends up using freed memory.
* added BLI_is_file(path), checks the file exists and isnt a directory.
2011-12-12 18:06:36 +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
237f6fc3b3 Fix #29599: Side of Active tool not working in Faces/Edges
Added warning message if there's no last selected vertex in the selection stack.
2011-12-12 14:52:00 +00:00
4a364d2362 fix for 2 crashes running operators in background mode. 2011-12-12 03:25:10 +00:00