Commit Graph

1629 Commits

Author SHA1 Message Date
Campbell Barton
a0dbd88311 converting a mesh to a curve was unnecessarily using tessface's.
use mpolys instead and simplify checks for wire edges.

Also rename BKE_mesh_from_curve() --> BKE_mesh_to_curve() since this function converts a mesh into a curve.
2013-03-14 18:35:21 +00:00
Campbell Barton
ffc8ecc587 use BLI_strncpy_rlen() rather then BLI_snprintf() when no formatting is needed.
also replace sprintf with strcpy when no formatting is done.
2013-03-14 10:39:18 +00:00
Campbell Barton
aaa8a13c49 code cleanup: use const events for modal and invoke operators. 2013-03-13 09:03:46 +00:00
Thomas Dinges
8560b141eb Fix for [#34598] Modifier-Icon in Outliner does not appear
* OBJECT_OT_make_links_scene did only trigger an 3D View update which was insufficient for Outliner (modifiers for example) and also some parts inside the Properties Editor (Mesh Data, Material Data).
2013-03-11 19:50:11 +00:00
Bastien Montagne
f57398568a More UI message i18n fixes and improvements... 2013-03-10 14:57:19 +00:00
Campbell Barton
7d585ed475 patch [#34103] check_for_dupid.patch
from Lawrence D'Oliveiro (ldo)

- more comments
- more uses of bool type
- define symbol for length of in_use array in check_for_dupid
2013-03-10 05:46:24 +00:00
Campbell Barton
ddddb7bab1 code cleanup: favor braces when blocks have mixed brace use. 2013-03-09 03:46:30 +00:00
Campbell Barton
c36f20a7d2 style cleanup 2013-03-08 04:00:06 +00:00
Sv. Lockal
ee9def5105 Typo fix to fix global delete with Shift-X as it was before r43416 2013-03-06 20:26:28 +00:00
Campbell Barton
74a9c1510a Alternate fix for bug [#34369], where invalid polygon normals could be saved in the mesh data and in the file.
This was from initial BMesh merge, but should not have been added in since face normals are calculated and stored in the DerivedMesh.

Toggling editmode would remove poly-normals so its unlikely anything relies on this custom-data.
2013-03-06 03:58:38 +00:00
Campbell Barton
0d5b028d43 patch [#34103] use boolean in path functions and add comments.
path_util_1.patch from Lawrence D'Oliveiro (ldo)
2013-03-04 19:27:51 +00:00
Campbell Barton
c2157518de fix [#34369] applying screw modifier turns object to black 2013-03-04 01:57:29 +00:00
Campbell Barton
7d5c51a96f now dragging an image onto an empty can be done without holding Ctrl.
Make it set the empty draw type for existing empty object.
change from yakca on IRC

also some whitespace cleanup.
2013-03-02 12:05:25 +00:00
Campbell Barton
0ac07404ba style cleanup: braces with multi-line statements, also add some comments. 2013-03-01 14:47:06 +00:00
Joshua Leung
e8d42ab48e Properly prefixing name of exproted armature API 2013-02-27 23:56:51 +00:00
Campbell Barton
4e59fb2352 minor changes to outliner
- linking groups into a scene now uses the objects original layers (some users have the layers set to useful values, so overwriting isnt so nice).
- dropping objects into the 3d view would make them active but not selected, a valid but confusing state, since most tools activate and select now objects.
2013-02-27 10:19:31 +00:00
Campbell Barton
29b4b56c66 make sure objects dragged into the viewport are not hidden. 2013-02-27 04:57:53 +00:00
Campbell Barton
68f9226d5b code cleanup: unused arg 2013-02-27 01:43:48 +00:00
Campbell Barton
7b7d38d821 fix for own error r54703, the event->mval was relative to a different region.
also make recent image dnd patch add the new object at the mouse cursor.
2013-02-25 00:45:20 +00:00
Campbell Barton
4e1ea1f9fd patch [#34411] Patch for image drag and drop to create Empty rather than BG image
from Kevin Mackay (yakca)
2013-02-24 23:18:21 +00:00
Bastien Montagne
b1543f07bf Another bunch of UI translation fixes, thanks to Leon Cheung, Gabriel Gazzán and S. Lockal for spotting them! 2013-02-24 15:40:28 +00:00
Campbell Barton
4df5b943ed patch [#34103] - listbase.patch, insertlinkbefore.patch
from Lawrence D'Oliveiro (ldo) 


notes from tracker:
use bool for return type from BLI_remlink_safe, necessitating including BLI_utildefines.h in BLI_listbase.h
get rid of duplicate BLI_insertlink, use BLI_insertlinkafter instead.

A few places which were using BLI_insertlinkafter (actually BLI_insertlink), when it would be simpler to use BLI_insertlinkbefore instead.
2013-02-22 14:12:55 +00:00
Campbell Barton
2c084e280d code cleanup: remove unused arg 2013-02-22 00:51:58 +00:00
Brecht Van Lommel
20220d47e3 Dependency Graph: some refactoring which should have no user visible impact
besides performance in some cases.

* DAG_scene_sort is now removed and replaced by DAG_relations_tag_update in
  most cases. This will clear the dependency graph, and only rebuild it right
  before it's needed again when the scene is re-evaluated.

  This is done because DAG_scene_sort is slow when called many times from
  python operators. Further the scene argument is not needed because most
  operations can potentially affect more than the current scene.

* DAG_scene_relations_update will now rebuild the dependency graph if it's not
  there yet, and DAG_scene_relations_rebuild will force a rebuild for the rare
  cases that need it.

* Remove various places where ob->recalc was set manually. This should go
  through DAG_id_tag_update() in nearly all cases instead since this is now
  a fast operation. Also removed DAG_ids_flush_update that goes along with
  such manual tagging of ob->recalc.
2013-02-21 19:33:04 +00:00
Brecht Van Lommel
7a6919a74e Object Select Similar tool now has a Pass Index option.
Patch by Jesse Werner.
2013-02-21 18:08:04 +00:00
Campbell Barton
13670e1e06 code cleanup: pass mval to ED_view3d_cursor3d_position() rather then event x/y 2013-02-21 17:11:38 +00:00
Antony Riakiotakis
b9333b304c Fix visible seams on normal map bake due to clear colour being black:
This is a special case, tangent space normal maps should be cleared to
0.5, 0.5, 1.0. This is good practice but there's no reason why not to
automate this (for artists whose bump map fu may be a bit shallow).

Thanks to Morten Mikkelsen for reporting.
2013-02-20 15:06:13 +00:00
Campbell Barton
bc52cb1be3 fix for apply rotation/location failing for surface object types (were recognized as 2d curves). 2013-02-19 14:19:53 +00:00
Campbell Barton
098e4234b1 minor change to own recent commit with transform fcurve centers and some style edits and typo corrections. 2013-02-19 02:30:02 +00:00
Brecht Van Lommel
5ba0eb0ae5 Fix some popups being too small on retina display, among them the new image dialog. 2013-02-18 15:08:27 +00:00
Campbell Barton
6e0cedd61c code cleanup: operator/function mismatch 2013-02-17 07:17:04 +00:00
Bastien Montagne
98b9ed185f Translate "Set Parent To" menu (ctrl-P), reported on bf-translations ML by Satoshi Yamasaki, thanks! 2013-02-15 08:31:00 +00:00
Campbell Barton
db02420921 tweak vertex group clean limit, it couldn't be set to zero, and you may want to remove only zero weights. 2013-02-14 01:55:10 +00:00
Campbell Barton
4fe94b2ef6 there were more places hook modifier type wasn't checked and could crash - add utility function which doest this. 2013-02-13 15:14:29 +00:00
Campbell Barton
fe855a83d7 fix for missing typecheck on hook-assign operator.
fix for POSELIB_OT_pose_rename getting an enum as an int.
2013-02-13 15:03:36 +00:00
Ton Roosendaal
7dbce1930a Reports #34042 and #33749
Tweak for new option for Relative Bone parenting
(which transforms child object based on rest pose, so you can change bones 
in editmode to define pivot)

In the original commit it was made default, but that was too invisble for
users. Now it's an option in the Make Parent menu to choose. Communicates
a new feature better.
2013-02-12 14:42:46 +00:00
Campbell Barton
5eec86c6b2 fix [#34203] Editing bones, parenting, blender quits
'Set Inverse' was mixing up pose/object constraints
2013-02-12 01:20:14 +00:00
Campbell Barton
3a192ca359 patch [#33697] Apply transformation added to metaballs.
from Jesse Werner (vidjogamer), with own addition of RNA function, scale and rotation support.
2013-02-11 10:56:21 +00:00
Nicholas Bishop
809e37bf15 Ensure that mask layer exists in sculpt mode after multires subdivide
Sculpt mode requires mask customdata layer for multires and ensures it
exists on entering sculpt mode. However, sculpt mode only considers
multires to be active if the level of subdivision is not zero, so it
does not add mask for unsubdivided multires meshes. If the multires
mesh is subdivided while in sculpt mode, no mask was present leading
to weird drawing and crash on use of the mask brush.

Fixed by doing the same thing in multires_subdivide_exec() that is
done in ED_object_modifier_add(), which is to check if sculpt mode is
active and add mask layer if so.

Fixes [#34190] Viewport artifacts when using Multiresolution modifier
projects.blender.org/tracker/index.php?func=detail&aid=34190&group_id=9&atid=498
2013-02-10 15:59:29 +00:00
Campbell Barton
441c7fb79a fix for crashes running some operators in background mode and some divide by zero errors. 2013-02-06 02:48:03 +00:00
Campbell Barton
adf9dffa30 set drag/drop operators as 'INTERNAL', there not useful to access from operator search. 2013-02-05 14:38:19 +00:00
Sergey Sharybin
fdfa5910b5 Fix #34040: Moving Normal Node with enabled Cycles Material Preview crashes
Issue was caused by couple of circumstances:

- Normal Map node requires tesselated faces to compute tangent space
- All temporary meshes needed for Cycles export were adding to G.main
- Undo pushes would temporary set meshes tessfaces to NULL
- Moving node will cause undo push and tree re-evaluate fr preview

All this leads to threading conflict between preview render and undo
system.

Solved it in  way that all temporary meshes are adding to that exact
Main which was passed to Cycles via BlendData. This required couple
of mechanic changes like adding extra parameter to *_add() functions
and adding some *_ex() functions to make it possible RNA adds objects
to Main passed to new() RNA function.

This was tricky to pass Main to RNA function and IMO that's not so
nice to pass main to function, so ended up with such decision:

- Object.to_mesh() will add temp mesh to G.main
- Added Main.meshes.new_from_object() which does the same as to_mesh,
  but adds temporary mesh to specified Main.

So now all temporary meshes needed for preview render would be added
to preview_main which does not conflict with undo pushes.

Viewport render shall not be an issue because object sync happens from
main thread in this case.

It could be some issues with final render, but that's not so much
likely to happen, so shall be fine.

Thanks to Brecht for review!
2013-02-05 12:46:15 +00:00
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