Commit Graph

38791 Commits

Author SHA1 Message Date
29d348f8de add checks for bad args to RNA_def_property_ui_range & RNA_def_property_range and fix one instance where (min > max).
also remove redundant float/double conversion in ui_get_but_step_unit()
2013-09-02 22:28:18 +00:00
42a619c781 allow negative offset for floor constraint.
(since this isnt a projection, it just clamps on an axis this can be supported).
2013-09-02 22:24:44 +00:00
c0ca93c9b2 Add poll message when poll fails because of window missing from the context.
This means calling invoke operators from python in states that dont support will give a meaningful error message.

also reduce context lookups when polling.
2013-09-02 19:28:44 +00:00
37bad42b9d Ack... Followup to r59743: in fact, bitflags groups are not always wanted/needed, thanks to Campell for notifying me about this!
So now, their generation is controlled by a flag, else previous "simple values" group ids are generated (one per poly region, no need here to reduce the number of used IDs!).

Will update obj exporter too.
2013-09-02 18:33:06 +00:00
1ea9f88ff9 warning cleanup: correct some odd returns and quiet strict flag warnings on some systems. 2013-09-02 17:59:04 +00:00
15039b14ff Make strict compiler happy for release builds. 2013-09-02 17:24:56 +00:00
6ac7b03b2c Fix [#36636] Incorrect assignment of Smoothing Groups on export
In fact, smooth groups are supposed to be bitflags, not simply integer values (would be far too much simple!). This adds quite a bit of work, as with only 32 values, we can't just assign one to each group. Somewhat related to the "Four colors theorem"! ;)

Here we simply use the first available bit for current smooth group (i.e. first bit not used by any of the already defined contiguous groups).
2013-09-02 17:14:41 +00:00
Lukas Toenne
834e47dbac Fix #36628, Muting bump node alters material visibility.
The internal connections used for muted nodes are a "best guess" only. The algorithm would connect linked input/output sockets first, regardless of sensible connections. Replaced this by a more strict
connection method now which only uses matching types, so that Normal outputs won't get input from values, etc.

This is still far from perfect though. Eventually it may be necessary to implement dedicated methods for certain types of nodes to respect different semantics - using the plain socket type is just not
enough information. Also the value used for connections from muted nodes with no matching input will currently be the hidden(!) socket input values, this can lead to unexpected results. Needs further
thought ...
2013-09-02 17:08:03 +00:00
107e6afd21 Related to #36632: cycles textured draw mode now shows the image from an image
texture node even if it's not active, in case there is no active texture node.
2013-09-02 16:05:51 +00:00
Lukas Toenne
568a0c8199 Fix #36639, textures not reloaded after fixing paths.
The BKE_bpath_traverse_id method updates path variables of image data blocks, but did not cause the image to be reloaded (or rather, tagged so it gets reloaded on next use). This requires also updating
all the ImageUser "ok" tags, which happens in some odd places in other cases where reload happens (e.g. the reload operator and the image path button handler function in image template).
2013-09-02 14:23:42 +00:00
529c6d0eeb Fix #36124: VSE - Input Color option does not work for video files
Byte images and movies will now fully follow input color space.
Before this non-sRGB input colorspace for byte images and movies
behave really doggy (results in preview and final render were
totally different).

To prevent data loss, if byte image is set not stored in sequencer's
space it'll be internally converted to float buffer.

In theory some setups might be rendering a bit different now, but
new behavior is totally expected and someone used non-sRGB input
space for byte images/movies had Convert Float enabled anyway.
2013-09-02 13:54:12 +00:00
Lukas Toenne
79759d8368 Fix for the BKE_image_walk_all_users function: This included a check for movie/sequence image types meant for the original use to set IMA_NEED_FRAME_RECALC flag. But the function name suggests it should be generic, so better move this filter into the callback. 2013-09-02 13:45:57 +00:00
1fbb859e6d Fix crash when adjusting plane track after re-tracking point tracks
Issue was caused by tacks map merge re-allocating the tracks and this
didn't update plane tracks.

Ideally tracks_map_merge shall not re-allocate tracks, but for now
just update plane tracks. Shouldn't be too much slow anyway and could
always be tweaked without affecting any artists.
2013-09-02 12:02:46 +00:00
26bfda6fad Some function didn't match their declaration 2013-09-02 11:19:21 +00:00
Lukas Toenne
1050bb37fb Removed some unused old function declarations for loop node register, awkward that this is still there ... 2013-09-02 10:34:27 +00:00
01a2634d61 fix [#36412] Pivot of active element switches to last selected face after duplicating vertices. 2013-09-02 04:39:48 +00:00
54310b8086 bmesh: internal api change, remove BMOElemMapping, its not needed since the values can be stored in the ghash directly.
saves 24 bytes per element (per vertex/edge/face on a 64bit system), for bmesh operators.
2013-09-02 03:13:51 +00:00
d59b4752e4 add hash iterator functions to access the pointer to the value. 2013-09-02 02:58:53 +00:00
26cbf331a8 text editor cursor motion (left/right arrows) with selected text typically jumps to either side of the selection previously the cursor would move and loose the selection too.
text button fields already did this.
2013-09-02 00:47:27 +00:00
75a2b5ee35 add attributes to ghash and edgehash functions. 2013-09-01 22:47:44 +00:00
7ad59c4e2c fix odd (intentional) behavior with vertex parent,
curve children of a triangle vertex parent would only display their relationship line to the first vertex. (confusing)

also added OB_TYPE_SUPPORT_PARVERT macro.
2013-09-01 22:38:41 +00:00
4c7ded98bc support for vertex parenting in object mode for object types which support it (mesh, lattice, curve, surface)
previously this had to be done one by one.

both single and triagle vertex parents can be made, selected based on distance to the verts.

Developer notes:
- looks like this was old TODO, enums existed but weren't used.
- only meshes currently support using.
- added BKE_object_as_kdtree(), may come in handy for similar cases.
2013-09-01 22:01:21 +00:00
6bab1d408f Cleanup!
Also fixed a nasty (but inofensive for now) stuff, we had both MOD_UVPROJECT_MAX and MOD_UVPROJECT_MAXPROJECTORS (the former used in RNA code, the later in modifier code)! Kept MOD_UVPROJECT_MAXPROJECTORS.
2013-09-01 21:49:35 +00:00
36065ee4f4 use strict flags for kdtree, and replace ints with unsigned ints where possible.
also replace callocs with mallocs since zeroing memory can be avoided.
2013-09-01 20:17:56 +00:00
77e86dce2a Fix [#36479] Particle instance Modifier random position snaps objects to 0 position
Most work (tracking bug) done by Anthony Edlin, many thanks!

Great example of why having duplicate code is never a good idea... ;)
2013-09-01 15:31:09 +00:00
b18f77abfd OSX/gcc4.6+: fix compiling, -Wconversion causes ann weeror in gcc's own stdio.h else 2013-09-01 15:03:44 +00:00
35b61a7512 Move GCC attributes into a centraized defines
Instead of having ifdef __GNUC__ all over the headers
to use special compiler's hints use a special file where
all things like this are concentrated.

Makes code easier to follow and allows to manage special
attributes in more efficient way.

Thanks Campbell for review!
2013-09-01 15:01:15 +00:00
901dea87a1 Tag unused arg as unused. 2013-09-01 15:01:03 +00:00
09674d3c38 Remove some unneeded type conversions. 2013-09-01 14:32:51 +00:00
Lukas Toenne
2b6d2bf322 Patch #36622, by Henrik Aarnio: Fit backdrop image to the area dimensions.
A new operator to alter the backdrop zoom level so that it fits fully within the node editor area, and centers the image.
Shortcut alt-home, as home is used for fitting stuff into the view everywhere.
2013-09-01 09:50:56 +00:00
fe427f0561 kd-tree,
- replace numbers with defines for allocation increments and default array size.
- move array reallocation into a static function (deduplicate 2x).

also fix own mistake with uninitialized slop-space var in memory printing statistics.
2013-09-01 08:58:46 +00:00
3c193c825b Mingw/Windows Compiling Fix:
In file included from source\blender\compositor\operations\COM_PlaneTrackMaskOperation.cpp:31:0:
source\blender\blenlib/BLI_jitter.h:36:65: error: expected ',' or '...' before numeric constant
source\blender\blenlib/BLI_jitter.h:37:65: error: expected ',' or '...' before numeric constant


It appears that an include used in COM_PlaneTrackMaskOperation.cpp brings in some Windows header file, which in turn defines rad/rad1/rad2 as some numeric constants.
2013-09-01 05:55:50 +00:00
7176cbf466 Mingw Compiling Fix - Conversion from int to unsigned char...
Apparently mingw/gcc is too stupid to recognise that the values
in alphatest will only be used if they're within the range of 
unsigned char (i.e. 0 <= x < 255) when this is done using a ternary
operator. Then again, it's quite hard for humans to immediately
parse what is going on here either! Converting this clever code
back to a more obvious form that mere mortals (and compilers it 
seems) can handle with ease ;)
2013-09-01 05:36:29 +00:00
9d04a61f36 use strict flags for lasso, boxpack, gsqueue and quadric's.
for lasso also use unsigned ints rather then shorts for the path length.
2013-09-01 03:43:10 +00:00
098cf90956 use strict flags for scanfill, also replace shorts with unsigned shorts and ints/bools in some cases. 2013-09-01 03:37:45 +00:00
2924a02a35 move strict compiler checks into a header so its easier to manage in one place (pragmas were copied around).
also enable more strict warnings for BLF (which had some incorrect casts).
2013-09-01 00:46:04 +00:00
5c569d227b patch [#35928] View roll operator
from Kevin Mackay (yakca), with my own additions to make it modal (though there are no keys bound to modal roll by default).
2013-08-31 08:18:08 +00:00
208b068c3f text spacing was using DPI rather then the size of the text.
characters could draw outside the selection when the text was scaled up.
2013-08-31 05:09:52 +00:00
fd90e17130 text drawing glitche - highlight line was offset slightly from selection. 2013-08-31 05:00:40 +00:00
d685b18c2f remove calls to CTX_wm_region(C) when the region is already known.
also remove unused toggle vars in uiHandleButtonData
2013-08-31 04:22:55 +00:00
3d0e56e8d9 fix for ui glitch, pressing backspace over a button to reset to the default value didnt work for the uilist text button (others too), missing redraw. 2013-08-31 04:11:50 +00:00
8e46cf637c tweak mempool loop comparisons when we know there is no chance for skipping past the last value.
also correct typo.
2013-08-31 02:12:31 +00:00
11c988ba00 Simplify line/plane intersection, add line_plane_factor_v3().
Remove no_flip option for isect_line_plane_v3(), its quite specific and only used for ED_view3d_win_to_3d().
2013-08-31 02:06:23 +00:00
60ff60dcdc RenderEngine API: add viewport draw utility functions to bind a GLSL fragment
shader for converting colors from linear to display space, based on the scene
color management settings.

if engine.support_display_space_shader(scene): # test graphics card support
	engine.bind_display_space_shader(scene)
	# draw pixels ..
	engine.unbind_display_space_shader()
2013-08-30 23:49:35 +00:00
f477c0e535 remove unnecessary check in BLI_mempool_iterstep and add doxygen comments to mempool. 2013-08-30 22:04:37 +00:00
b8547074e1 mempool internal change, use unsigned ints where possible (less overhead),
also quiet compiler warning for BLI_LINKSTACK_FREE macro.
2013-08-30 21:32:57 +00:00
b1c36529aa Fix #36609: glsl materials with reroute nodes not working correct. 2013-08-30 17:18:15 +00:00
e8605f9df9 quiet compiler warnings 2013-08-30 16:52:54 +00:00
86f8470a5d Some knife fixes. Avoids duplicating verts; better handling of cut-through ortho.
Now cut lines detect vertices that they pass (almost) exactly over
and snap to them, to avoid making verts vert close to other ones.

Added radius arg to BKE_bmbvh_ray_cast so that can detect an obscuring
face when the ray might otherwise go exactly between two triangles.
Needed an isect_line_tri_epsilon function for similar reason.

Fixes last part of bug #35002. Other knife bugs still present but
getting this commit in now before continuing bug fixing.
2013-08-30 16:34:44 +00:00
03a8b4f180 Cleanup, bitflags as bitshift ops, and some formating... 2013-08-30 13:24:16 +00:00