Commit Graph

39526 Commits

Author SHA1 Message Date
Dalai Felinto
eb41fdb367 rna small fixes (bad copy-pasting) 2013-06-01 08:49:51 +00:00
876cc99aff display menu items key shortcuts in the button tooltips. 2013-06-01 05:53:44 +00:00
2d4a682a8e add popup menu to allow python scripts to show popups without having to define a menu class first. 2013-06-01 04:06:38 +00:00
f47cb7e2d9 Fix for r56965 by Tamito:
* Panorama Camera was not working for Blender Internal and Cycles anymore.

Code checked for Freestyle render layer flag, but as the flag is enabled per default, it broke Panorama camera in all cases. It made no sense to check this on a render layer basis anyway... check if Freestyle is enabled in general now instead.
2013-06-01 02:14:07 +00:00
249bf25565 editmesh display user request, keep the edge lengths within the view bounds (so you can see edge length even when zoomed in) 2013-05-31 23:52:39 +00:00
3e97e2c8e8 style cleanup 2013-05-31 22:35:25 +00:00
b577f0c16e previous fix for #35578 didnt work right, check direction of the open edge loop too. 2013-05-31 18:58:32 +00:00
db42a596aa fix [#35578] New bridge tool; bowtie crossing when destination edges form one half of an 'X' 2013-05-31 15:48:42 +00:00
7f69cbb39f Fix #35497: rendering preview range gives wrong duration
Was a mistake in PTS calculation when using opengl animation render.
2013-05-31 10:31:44 +00:00
cc390206fc Fix #35581: Crash when using Track Refine 2013-05-31 10:17:29 +00:00
2ad930e41a Made text datablock properties 'is_in_memory' and 'is_dirty' editable in Python.
The rationale of this revision is to provide an easy way to make text datablocks internal
from within Python (i.e., by setting these properties to True and the 'filepath' property
to empty string).
2013-05-31 07:40:03 +00:00
54e8cacdcf improve edgering subdivide curvature calculations (calculate length projected onto the normal plane).
also correct recely added asserts.
2013-05-31 06:28:11 +00:00
58a748431e correct cast to uintptr_t for smallhash use. 2013-05-31 00:19:38 +00:00
638c021039 tweak to edge-loop select, so loop selecting a side of a subdivided triangle selects all edges along one side. 2013-05-30 21:39:12 +00:00
46eb79c862 units: display 0.5mm rather then 500um, nicer when dealing with very small sizes but not microscopic. 2013-05-30 21:17:50 +00:00
c431df8f77 remove null checks for list functions, all hard asserts so we would have noticed problems already. 2013-05-30 19:05:46 +00:00
ba767857b8 fix for incorrect use of strncat in uiItemMenuEnumO 2013-05-30 18:42:32 +00:00
d7f51f83f6 remove CD_MASK_NORMAL from CD_MASK_DERIVEDMESH, bmesh merge included this but its not needed.
Now add asserts to make sure this layer is only added once the modifier stack has been calculated.
this saves normal layer being calculated whenver vertex normals need updating.
2013-05-30 18:09:19 +00:00
09e11ad6ef modifier stack: lazy initialize normals
many modifiers were calculating normals, when those normals were ignored by the next modifier.
now flag normals as dirty and recalculate for modifiers that set use `dependsOnNormals()` callback.

Quick test on mesh with 12 modifiers (mostly build type), calculated normals 6 times, now it only runs once - so this will give some speedup too.
2013-05-30 17:36:43 +00:00
7586580241 fix debug derived mesh print function, layers in the customdata that were NULL were not printed. 2013-05-30 13:13:43 +00:00
Lukas Toenne
281e538be0 Fix #35570, old group nodes with empty socket name strings crash. The identifier assignment was not taking potentially empty name strings into account. In addition some of the BLI_uniquename calls were
not passing a valid defname parameter, also crashing.
2013-05-30 11:51:21 +00:00
79f5a013be Patch #35464: Marker placement for motion tracker by clicking on a desired location
Now button in the toolshelf behaves this way:
- User clicks on "Add Marker"
- Then he clicks where the marker should get placed

Patch by Marcos Couto (ocf) with own modifications.
2013-05-30 11:37:53 +00:00
fe76c06b30 UI: support 3 digit hex colors like HTML, e.g. #123 becomes #112233.
Patch #35359 by Forest Ka.
2013-05-30 09:48:17 +00:00
cf5e979fb4 Motion tracking: automatic keyframe selection
Implements an automatic keyframe selection algorithm which uses
couple of approaches to find out best keyframes candidates:

- First, slightly modifier Pollefeys's criteria is used, which
  limits correspondence ration from 80% to 100%. This allows to
  reject keyframe candidate early without doing heavy math in
  cases there're not much common features with first keyframe.

- Second step is based on Geometric Robust Information Criteria
  (aka GRIC), which checks whether features motion between
  candidate keyframes is better defined by homography or
  fundamental matrices.

  To be a good keyframe candidate, fundamental matrix need to
  define motion better than homography (in this case F-GRIC will
  be smaller than H-GRIC).

  This two criteria are well described in this paper:
  http://www.cs.ait.ac.th/~mdailey/papers/Tahir-KeyFrame.pdf

- Final step is based on estimating reconstruction error of
  a full-scene solution using candidate keyframes. This part
  is based on the following paper:

  ftp://ftp.tnt.uni-hannover.de/pub/papers/2004/ECCV2004-TTHBAW.pdf

  This step requires reconstruction using candidate keyframes
  and obtaining covariance matrix of 3D points positions.
  Reconstruction was done pretty much straightforward using
  other simple pipeline routines, and for covariance estimation
  pseudo-inverse of Hessian is used, which is in this case
  (J^T * J)+, where + denotes pseudo-inverse.

  Jacobian matrix is estimating using Ceres evaluate API.

  This is also crucial to get rid of possible gauge ambiguity,
  which is in our case made by zero-ing 7 (by gauge freedoms
  number) eigen values in pseudo-inverse.

  There're still room for improving and optimizing the code,
  but we need some point to start with anyway :)

  Thanks to Keir Mierle and Sameer Agarwal who assisted a lot
  to make this feature working.
2013-05-30 09:03:49 +00:00
9fb3d3e032 remove redundant includes from cmake and scons. 2013-05-30 02:16:22 +00:00
9cf6e305a9 split bge includes for scons onto their own lines (for easier merging) 2013-05-29 21:56:55 +00:00
65baf6ca5c remove duplicate sys-types headers.
also change define checks in BLI_sys_types.h (was warning a lot in linux about unused defines).
2013-05-29 21:38:23 +00:00
e9f0b1ad0a Grr, forgot this in r57127...
BF_PYTHON_INC can contain more than one path (in the mono-string format), don't know how this could not be found earlier, completely broke build of GE on any recent Debian/Ubuntu distro???
2013-05-29 18:59:59 +00:00
88fd394dba Addition to r57094 by Campbell:
VS 2010 and 2012 have stdint.h so we should use them for consistency instead of defining the inttypes ourselves.
Added if condition for for stdint.h include for >= VS 2010

P.S.: Compiled and tested on VS2008-2012 and MinGW with scons and CMake ;)
2013-05-29 18:23:59 +00:00
0d496b8dce svn merge ^/tags/blender-2.67b-release/blender -c57122 2013-05-29 18:18:11 +00:00
bcf32407c1 Fix #35374: Region overlap + bugs
Was missing keymap for REGION_TIMER, which ended up
in missing updates happening.

Added this kind of timer to RNA, so keymaps could
bind to it.

Also made 3ds max keymap working again. Too bad it
was broken in 2.67 and 2.67a :S
2013-05-29 16:03:09 +00:00
Lukas Toenne
2757153d02 Cleanup: Removed all NODE_OPTIONS flags from C node type definitions, these are no longer required and have no effect. Whether or not a node supports additional options buttons is now determined by the
existence of a draw callback (uifunc and/or uifuncbut).
2013-05-29 15:38:51 +00:00
Lukas Toenne
ff42bfe242 Remove the NODE_OPTIONS flag usage from node->typeinfo. This is a redundant flag which can be replaced by simply checking for nodetype->uifunc/uifuncbut callbacks (if these callbacks are defined the node
type generally supports options). Note that the node->flag still uses NODE_OPTIONS as a switch to toggle the display of such options!
2013-05-29 15:14:11 +00:00
Lukas Toenne
e04965ee1c Set the NODE_OPTIONS flag for all nodes by default. If the node type has no options it will be ignored anyway. This makes sure that if options are added to a node type later on there is no need to do a versions patch to update this flag. 2013-05-29 15:14:09 +00:00
Lukas Toenne
d922d67054 Reverted a TODO comment from r54429 which disabled the NODE_OPTIONS flag check, so node option buttons could not be disabled at all. This was meant as a workaround to avoid adding do_versions just to set initial NODE_OPTIONS flags on old nodes, but needs a better solution. 2013-05-29 15:14:08 +00:00
d73529b296 scene render dimension panal: avoid re-creating the framerate string on every redraw, cache the string for reuse.
also remove redundant returns from my last commit.
2013-05-29 14:55:06 +00:00
39f0fbef95 fix for own regression in bridge tool since rewrite, UV's were not correctly copied over. 2013-05-29 13:41:35 +00:00
Lukas Toenne
902dbbe301 Replacement for the "Active Node" panel in node editor properties sidebar. This panel is now defined in space_node.py instead of node_buttons.c. The properties have been split up into generic properties
(name, label), custom colors (closed by default) and input parameters (extra options + unlinked input socket values).
2013-05-29 12:43:37 +00:00
Lukas Toenne
9eb93a9d9c Node options draw function fix for C nodes: use the default button draw function as a fallback if no extended draw function is defined. 2013-05-29 12:43:35 +00:00
9e05f6571f Make sure bool will always have the same size in C and C++
There were an issues with data structures defined in headers
and being used by both C and C++ on systems with stdbool
unavailable.

This happened because bool in this case will be defined as
unsigned int, which is 4 bytes. But C++'s bool is only 1
byte and this lead to alignment issues.

Now bool is always 1 byte, also made sure there's no situation
like bool foo = BitField & BitFlag, which could give overflow
issues. Use (BitField & BitFlag) != 0 instead.

Fixes #35553: Compositor broken (Backdrop & Preview)
2013-05-29 11:49:39 +00:00
e99801dc70 fix for confusion switching active group when running mirror (would swich back when toggling editmode if a pose bone was selected). 2013-05-29 01:28:55 +00:00
7c97a95911 improve topology mirror, increase chance of finding unique match. 2013-05-29 01:21:49 +00:00
7325919323 tweaks to vertex weight limit
- double check def_nr is valid (rare cases it is).
- usability, report how many weights are removed.
2013-05-29 00:00:24 +00:00
c1619a528c fix for own mistake in recent change to use defvert layer offsets. 2013-05-28 23:13:04 +00:00
de3686ac25 fix [#34851] "UnitSettings.scale_length" not beeing calculated the same way for all objects 2013-05-28 23:07:16 +00:00
abfee7425b correct error in r57092 with scons. 2013-05-28 20:35:12 +00:00
04d54f89d2 Correction for strict compiler flags. 2013-05-28 20:19:38 +00:00
b5cb9e8810 add BLI_sys_types.h 2013-05-28 19:42:19 +00:00
149b77f2bb don't use globbing for freestyle cmake file. 2013-05-28 19:38:28 +00:00
225c5fee6b move BLO_sys_types.h -> BLI_sys_types.h (it had nothing todo with loading)
remove MEM_sys_types.h which was a duplicate.
2013-05-28 19:35:26 +00:00