Commit Graph

49420 Commits

Author SHA1 Message Date
Campbell Barton
113f2367a0 move polygon intersection out of BLI_lasso into BLI_math_geom since its a generally useful function.
adds:
- isect_point_poly_v2()
- isect_point_poly_v2_int()
2013-03-14 21:44:16 +00:00
Campbell Barton
a2a594fb36 BLI_linklist_free() was incorrectly taking MEM_freeN() as an argument, evidentially this works on x86 - but could cause issues later on.
add BLI_linklist_freeN() which MEM_freeN's each item.
2013-03-14 19:40:42 +00:00
Campbell Barton
7626101dc9 split up BKE_mesh_to_curve() into 2 functions, adding BKE_mesh_to_curve_ex() which doesn't do object type conversion. 2013-03-14 18:44:32 +00:00
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
Sergey Sharybin
2b845d3b2a There was a regression in recent bugfix which touched Mix node.
This commit hopefully fixes that regression.
2013-03-14 16:25:32 +00:00
Campbell Barton
d92e32e4e7 use floats for knife tool internal mouse coord. 2013-03-14 14:46:59 +00:00
Bastien Montagne
93d7e3b442 Usual blenderplayer fix! :p 2013-03-14 14:05:41 +00:00
Campbell Barton
8dd2464626 minor knife refactor to prepare for running non interactively. 2013-03-14 13:58:56 +00:00
Campbell Barton
63d3594975 ui_def_but() allocating an extra byte in 'but->str' for no reason. 2013-03-14 11:29:15 +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
Sergey Sharybin
cf3b3a1ba2 Code cleanup: replace magic constant used for alpha ignore flag with a define. 2013-03-14 10:15:10 +00:00
Campbell Barton
0159647ada add BLI_strncpy_rlen(), a clone of BLI_strncpy() that returns the number of bytes copied.
also move doxy comments for BLI_string.h into the C file.
2013-03-14 10:07:05 +00:00
Sergey Sharybin
ccd05c33ed Fix #34616: Wrong face culling for curves with constructive modifiers
If curve object does have derived mesh, culling shall happen for
back faces, not front.
2013-03-14 09:50:29 +00:00
Campbell Barton
4dcd4e1a28 minor change to BLI_strncpy(). replace strlen() with BLI_strnlen(). 2013-03-14 09:49:20 +00:00
Campbell Barton
1158f06b57 code cleanup: de-duplicate view clipping function for paint and knife tool, minor changes to knife initialization. 2013-03-14 07:56:40 +00:00
Sergey Sharybin
9d896f8f84 Border rendering now works for all scenes used in compositor,
before this only active scene would be rendered with border.

When do_render_fields_blur_3d() is finished, it'll modify
render's display rect so it'll correspond bordered render
result placed on black backgrund. Actual border is stored
nowhere, which makes it only way to re-calculate disprect
for all other renders used in compo based on source. Not
so big deal actually.

Also needed to modify Cycles a bit, because before this
patch it used border settings from scene being rendered.
Now made it so render data is passing to external engines.

Using a property inside RenderEngine structure for this.
Not best ever design for passing render data, but this
would prevent API breakage. So now external engines could
access engine.render to access active rendering settings.

Reviewed by Brecht, thanks!
2013-03-14 07:38:37 +00:00
Campbell Barton
6a51379bf7 tweaks to clang so blender can build with -Werror 2013-03-14 07:25:54 +00:00
Joshua Leung
21dc93d275 Quick fixes for previous commit
* Missing word in tooltip for operator
* Ensure that filters are set appropriately so that effect is visible
immediately
2013-03-14 07:11:36 +00:00
Joshua Leung
07f2efe82f NLA Editor: Operator to add AnimData to selected objects so that they can appear
This commit introduces an operator in the Add menu - this operator ensures that
all selected objects have AnimData attached to them (even if they don't have any
actions/drivers yet). By doing this, these objects can at least appear in the
NLA Editor, which will allow them to have strips added to them in future without
having to create throwaway actions first (NOTE: there's still some stuff coming
to allow that).

Also, renamed NLA_OT_delete_tracks -> NLA_OT_tracks_delete
2013-03-14 06:34:02 +00:00
Joshua Leung
396758757b Bugfix: Filtering option in NLA Editor to include AnimData blocks with no
actions or NLA data attached was broken

Looks like a typo whcih somehow slipped in at some stage, as I remember that
this used to work at some point 2 years ago!
2013-03-14 06:30:18 +00:00
Campbell Barton
92d45811c3 fix reading out of buffer bounds for recent vertex paint commit. 2013-03-14 05:59:34 +00:00
Joshua Leung
0fa006cba1 Remove OPTYPE_REGISTER flag from click handler operator for anim editors
1) It made no sense to show this as the last operator which was used, since
these can only be used from the anim editors (and not the 3D View where this
panel appears most of the time)
2) Mouse select operators in other places didn't do this
3) There aren't really any editable parameters for this operator anyway
4) It's highly dependent on valid mouse coordinates as input.

Apart from that, undo still works fine, so no need to really keep this here.
2013-03-14 05:58:13 +00:00
Campbell Barton
aff410b558 style cleanup: odd indentation 2013-03-14 05:52:30 +00:00
Joshua Leung
5f92078d53 More AnimData selection fixes
* Not all supported datatypes would show up in the NLA Properties Region when
selected
* Clicking on the name part of the "Active Action" tracks now selects the
AnimData block that action is attached to
2013-03-14 05:44:56 +00:00
Joshua Leung
daf3fc02ad Bugfix: Selecting AnimData "expanders" in AnimEditors works again
Somewhere along the line, this functionality broke, even though the code to
handle these settings was still in place for many of these. The main implication
of this fix is that it should now be possible to select a particular AnimData
block, which makes it possible to do things such as changing the action
associated with that AnimData block (i.e. via the "Animation Data" panel in the
NLA Editor), as well as other operations which I've had on the todolist for a
while. Stay tuned!
2013-03-14 05:01:51 +00:00
Antony Riakiotakis
5684352858 Fix silly mistake that could lead to crash. Also, slight cleanup/rename
and comments
2013-03-14 03:47:20 +00:00
Antony Riakiotakis
d97050a7f6 Support for textures in vertex painting.
Developer notes: this commit does painting in sRGB space. Since colours
are stored im byte per component formats, expect this to have the usual
dark fringing issues. Speed wise vertex paint could use some
optimization, for instance we could store the screen space vertex
positions on initialization like we do for texture painting, but this is
for another time. Also noticed that vertex painting suffers from the
subsurf + mirror issue too :/

Apart from that it's quite exciting how easy it is to add support for
texturing now that proper abstractions for texture sampling have been
done :)
2013-03-14 03:42:17 +00:00
Antony Riakiotakis
0d70e8a4fd Two new Features:
* Support for Rake in projective paint (2D painting will be a separate
commit)
* Support for smooth stroke across all paint systems
2013-03-14 02:27:36 +00:00
Brecht Van Lommel
d9408f8800 Fix #34526: crash using mask modifier + subsurf + UV map. 2013-03-13 22:15:59 +00:00
Brecht Van Lommel
a4c19c62bf WM: remove "No (valid) startup.blend found" message printed on startup, can be useful for debugging but hide it for normal usage. 2013-03-13 20:00:39 +00:00
Brecht Van Lommel
dcbfa25bc8 Fix #34551: blender crash rendering with save buffers.
Problem was the new usage of access() on Windows, this doesn't accept X_OK. Also wrapped _waccess so that UTF-8 paths work.
2013-03-13 19:48:07 +00:00
Campbell Barton
962865d19f fix for 2 errors where the 2d arrays were used as 3d. (out of bounds read).
also minor code cleanup.
2013-03-13 18:10:05 +00:00
Brecht Van Lommel
5ff0daf1ac Fix #34492: clipping border not working with GLSL/matcap and Nouveau drivers. 2013-03-13 18:00:13 +00:00
Campbell Barton
1d73ee50a4 solidify modifier: thickness clamping helps prevent self intersections when there are small details on a larger model. 2013-03-13 17:31:26 +00:00
Brecht Van Lommel
385650974a Fix for build error with previous commit, seems the order of #includes matters here. 2013-03-13 17:30:31 +00:00
Brecht Van Lommel
5162a155af Fix #34481: camera focal length and sensor size did not use units yet, now they do.
I've added a separate camera unit type. It's a bit strange to have an exception for
this but it ensures units are shown in familiar millimeters and it also ensures
backwards compatibility.
2013-03-13 17:16:49 +00:00
Brecht Van Lommel
a3ad35cf3a Fix #34626: voxel data texture can't read > 2GB files on Windows.
Also fixed BLI_fopen not being used for AVI movie files, which meant AVI read
could fail reading a file from a path with special characters on Windows.
2013-03-13 17:16:47 +00:00
Campbell Barton
80de3192a7 attempt to quiet warnings for gcc4.2 2013-03-13 15:41:14 +00:00
Bastien Montagne
6d070e47c1 Fix [#34621] I18n Switch Issue When Gimbal and Rotation Manipulator On.
Real issue was that transform manipulators' code was calling TRANSFORM_OT_trackball with data (PointerRNA) from VIEW3D_OT_manipulator. That op has constraints props, while trackball has not. This created some kind of "ghost" properties, that showed up in redo panel.

Why this only segfaults in BLF_pgettext in 32bit builds remains a deep mystery (currently dusting out my 32 vbox to try to understand it...). BLF_pgettext is supposed to be pretty secure. :/
2013-03-13 15:27:54 +00:00
Ton Roosendaal
1d9b80fc3b Bug fix #34620
SHIFT+T (texture space transform) crashed in editmode. Not checking NULL pointer.
2013-03-13 15:11:45 +00:00
Bastien Montagne
ad9e675ee1 Fix [#34628] Shift-V (vertex slide) does no longer show "vertex slide:" for the user.
Own stupid mistake in r55214 refactor.
2013-03-13 14:56:17 +00:00
Campbell Barton
25e579c631 fix for minor glitch in recent addition to create faces from partial selections.
BM_edge_exists() would return an edge if both verts passed match, now assert instead.
2013-03-13 14:54:47 +00:00
Sergey Sharybin
f530adf73d Report timing compositor statistics when running in background mode.
This would help figuring out time spent on compositing, helpful for
render farms.
2013-03-13 14:50:36 +00:00
Sergey Sharybin
53735787ff Disable viewer nodes and previews when rendering in background mode
This node and operations are not useful in background mode anyway,
but calculating them could be really time-consuming especially
when working on 4K frames.
2013-03-13 14:50:33 +00:00
Brecht Van Lommel
47f6d7ff93 Fix node group drawing not taking into account DPI properly. 2013-03-13 14:19:57 +00:00
Brecht Van Lommel
136738029e Fix write past end of array in recent texture sampling refactoring commit, and
a small warning for double const keyword.
2013-03-13 14:19:55 +00:00
Brecht Van Lommel
4e86946c2b Fix wrong use of enum in UI code to reactive button on mouse over, this worked
only by accident.
2013-03-13 14:19:53 +00:00
Gaia Clary
020656ceba Outliner: recursive select/deselect visibility and selectable unconditionally 2013-03-13 14:12:17 +00:00
Howard Trickey
604bdb7f45 Fix bevel modifier bug #34611, limit bevel amount needed.
This is a quick fix that perhaps overestimates the point
of first geometry collision, but at least for now it should
allow models that used the old modifier and a too-big
bevel amount to not look awful.

The correct solution to this problem is much more involved
and I'll get to it later.
2013-03-13 14:08:12 +00:00
Gaia Clary
1ecf9ccf5f Outliner fix: selecting a bone did not unselect other bones when they are located in a hidden layer 2013-03-13 12:52:44 +00:00