Commit Graph

6717 Commits

Author SHA1 Message Date
Nicholas Bishop
84f3eb7786 Fix bug [#30810] Blender crashes with Array modifier
When merging bmesh customdata, memset the new blocks to
zero. Otherwise can contain junk values (some layer types with
pointers like MDeformVert can then crash.)
2012-04-04 16:35:13 +00:00
Campbell Barton
ec8a26e040 use 'const float' when passing readonly colors, and include array size. 2012-04-04 01:02:15 +00:00
Campbell Barton
320aa33e65 rename MPoly vars called mface or mf, to avoid confusion with MFace types. 2012-04-03 23:40:24 +00:00
Lukas Toenne
123f7d3eb3 Popup menu layout inherits context store from button.
When adding extra context data in a layout using uiLayoutSetContextPointer, this info was not inherited by popup menus generated in this layout. While operators from regular buttons work fine, the data is missing in operators from menus and such. This patch copies the bContextStore from buttons to the new uiLayout used for popups.
2012-04-03 15:18:59 +00:00
Campbell Barton
3c1b5b5632 stule cleanup: edits for files which were recently cleaned up. 2012-04-02 22:26:00 +00:00
Sergey Sharybin
7c4bb6f4b7 Fix #30398: Mesh objects with curve modifiers render in thier 'rest' position, not thier 'pose' position
Do not recalculate curve's path if displist is building for orco -- in this
case modifiers are not applying on curve which makes path be calculated and
later used by dependent objects with it's non-modified state.
2012-04-02 15:06:21 +00:00
Bastien Montagne
e0ead26312 Partial fix [#30744] BMesh: Particle system face/volume emission doesn't work if there is a constructive modifier earlier.
When ORIGSPACE is added, it is now a loop data, so we need to mark tessdata as dirty too. Also fixed DM_ensure_tessface to check DM_DIRTY_TESS_CDLAYERS flag!

This fixes problems with subsurf + dynapaint + particles, however, some modifiers, like remesh, seems to create a new dm from scratch, hence loosing completely those CD layers… Note this bug already existed in 2.62, so this is not a regression.
2012-04-01 15:02:19 +00:00
Campbell Barton
f3792b0f2b code cleanup: use uppercase for defines and dont end macro's with ; 2012-03-31 03:36:15 +00:00
Campbell Barton
5b88712ff9 move debug flag into its own global var (G.debug), split up debug options.
--debug
  --debug-ffmpeg
  --debug-python
  --debug-events
  --debug-wm

This makes debug output easier to read - event debug prints would flood output too much before.

For convenience:
  --debug-all turns all debug flags on (works as --debug did before).

also removed some redundant whitespace in debug prints and prefix some prints with __func__ to give some context.
2012-03-31 00:59:17 +00:00
Bastien Montagne
55c210b57e Fix [#30709] Renaming a bone renames all drivers' targets using a bone of that name, regardless of the armature.
This fix adds a "ref_id" ID pointer to BKE_all_animdata_fix_paths_rename() & co, which is the ID against which prefix+oldName/NewName is "applied", currently only used for drivers' bones targets. Just pass NULL to get same behavior as previously. A bit annoying to make such a change for such a specific case, but there seems to be no other way to go... :/
2012-03-30 13:04:29 +00:00
Sergey Sharybin
785373b03a Added new command-line arguments --debug-ffmpeg and --debug-libmv to
be able to see debug prints coming from FFmpeg or libmv independently
of general blender debug messages.
2012-03-30 10:37:49 +00:00
Sergey Sharybin
81e3db364d Camera tracking refactoring:
- Deduplicate patetrn sampling used in esm and lmicklt trackers and
  move SamplePattern to image/sample.h - Move computation of Pearson
  product-moment correlation into own function in new file image/correlation.h
  so all trackers can use it to check final correlation.
- Remove SAD tracker. It's almost the same as brute tracker, with only two differences:
  1. It does brute search of affine transformation which in some cases helps to track
     rotating features 2. It didn't use common tracker api which probably gave some
     speed advantage, but lead to a real headache to use it together with other
     trackers leading to duplicated code in blender side.
- Switch blenedr to use brute tracker instead of sad tracker which tracking made
  source code much more simple to follow.
2012-03-30 10:37:39 +00:00
Campbell Barton
2722320ca6 style cleanup: minor change and remove redundant casts 2012-03-29 22:35:12 +00:00
Campbell Barton
863f7edad6 style cleanup: sequencer 2012-03-29 22:26:11 +00:00
Sergey Sharybin
ae33503d03 Fix #30716: Clamp To Constraint Locks up Blender after a while.
Issue was caused by object moved really far away (not just actually issue,
it's just about long mouse gesture and X-axis orientation which projects
position to quite large X-axis value) and for this location start offset
from curve length was calculating iteratively which takes plenty of time for
short curves.

Replace iterative search of offset with formula which seems to be working
in the same way and should be a bit more accurate.
2012-03-29 15:41:58 +00:00
Campbell Barton
f87c5b3453 fix [#30715] bmesh: select linked not ignoring hidden verts/edges/faces
add optional flag to ignore hidden elements.
also remove loop mask flag - since it wasnt used and vert/edge/face is enough.
2012-03-29 13:09:07 +00:00
Nicholas Bishop
7474397f85 More array modifier fixes.
* Skip calculation of merge indices if merging isn't enabled
* Clean up usage of BMesh operators to fix small memory leak
* Fix harmless BLI_assert in CustomData_bmesh_merge
* Another null-initialization fix in CustomData_bmesh_merge
2012-03-29 11:31:44 +00:00
Nicholas Bishop
7661f429c6 Fix uninitialized variable in CustomData_bmesh_merge.
Caused a crash in array modifier with caps.
2012-03-29 10:49:17 +00:00
Campbell Barton
a173508f49 converting a mesh to an undo mesh now skips using bmesh operator. 2012-03-29 03:06:42 +00:00
Campbell Barton
42076f0a1f skip using bmesh operators for converting to/from undo meshes (gives some speedup) 2012-03-29 01:41:56 +00:00
Campbell Barton
c9e1ced4dd code cleanup: (dont include ';' in defines), last commit also missed changes to paint_image.c 2012-03-28 01:06:43 +00:00
Nicholas Bishop
f71f09d714 Partial fix for bug 30695, "Array broke crease, weird visibility and slowdown"
* Array modifier creates BMesh from DM; add missing CD_CREASE layer
  for edge creases.

* With a modifier stack like mirror+subsurf+array, face normals were
  wrong. Fix by removing CD_NORMAL layer from CCGDM output. Previously
  the elements in this layer were simply copied, so they did not
  reflect subdivision correctly.

* Minor style fixes in bmo_dupe.c.

Issues not yet addressed:

* Subsurf's optimal draw setting for hiding subdivision edges is not
  respected by the array output.

* Slowdown issue; array modifier is much slower than in 2.62.
2012-03-27 12:34:00 +00:00
Sergey Sharybin
d334f04ee6 reload_sequence_new_file now works with movie clip strips as well 2012-03-27 08:54:37 +00:00
Campbell Barton
09f29c0b70 style/name cleanup: have EDBM_* functions match our style guide and also match BM_ function naming conventions 2012-03-27 04:46:52 +00:00
Campbell Barton
ea270a6903 fix error in last commit 2012-03-27 01:52:49 +00:00
Campbell Barton
f83a93e454 bmesh todo, unlikly but possible - entering editmode with faces and no polys.
rather then printing a warning and failing - convert them to polys.
2012-03-27 01:28:25 +00:00
Campbell Barton
126c9d4caa use cmake WITH_MOD_ * to exclude include paths which are not used. 2012-03-27 00:17:57 +00:00
Campbell Barton
ca05219f3e fix [#30651] bpy.ops.object.mode_set(...) editmode removes faces.
problem was that BMesh had tessellation call when undo pushes were called.

if python called an operator with no undo push, tessfaces would not be created.

fix this by making it the responsibility of each editmesh operator to re-tessellate, as it is with notifiers and depsgraph.
added EDBM_update_generic() function to add notifier, tag for depsgraph update and optionally re-tessellate.
2012-03-27 00:01:35 +00:00
Sergey Sharybin
40c667e75e Clean-up logic of behavior of refresh/reload operators in sequencer
After discussion with Campbell we found much nicer solution which
keeps operation with data much more clear:

- Refresh Sequencer is totally harmless, do not touch actual data
  and just removes everything from cache
- Reload Strip will reload data and adjust it's length for all
  selected strips without affecting on length of strip itself
- Reload Strip and Adjust length will do the same but will also
  adjust length of strip itself.
2012-03-26 22:26:30 +00:00
Nicholas Bishop
47cd3d4b8e Fix for truncation of 64-bit CustomDataMasks.
Can't use GET_INT_FROM_POINTER anymore with CD masks, as this
truncates to 32-bit.

Bug: http://projects.blender.org/tracker/index.php?func=detail&aid=30680&group_id=9&atid=498
CR: http://codereview.appspot.com/5905059/
2012-03-26 16:25:21 +00:00
Sergey Sharybin
adbe628a1b Fix crash of Refresh Sequencer when some Movie / MovieClip strips doesn't have animation opened 2012-03-26 15:57:00 +00:00
Sergey Sharybin
52b26c4e4e Default settings for new movie clip tracking now is the same as Default preset 2012-03-26 14:30:30 +00:00
Sergey Sharybin
69c9451c3e - MovieClip strips now have got valid color for older saved files
- Update Strip Length will now properly update lenght of movie clip
  strips created from movies before lenght was added there.
2012-03-26 13:36:22 +00:00
Sergey Sharybin
dbfe971c06 Fix for crash when adding image sequence movie clip into a sequencer 2012-03-26 13:30:53 +00:00
Sergey Sharybin
5e764bf848 Fix #30647: Error in wire drawing of subsurf
Patch by Nicholas Bishop, thanks!
2012-03-26 12:20:46 +00:00
Sergey Sharybin
3fab018da4 Fix for object solver possible pointing to a freed memory when removing
movie clip data block from python/
2012-03-26 09:36:19 +00:00
Campbell Barton
ce4eb57301 fix [#30653] Wrong image at UV/Image Editor window
render results would be displayed on loading new files if the scene names matches, now free render-results so as not to display stale data - also saves some memory.
2012-03-26 08:10:12 +00:00
Campbell Barton
7e38b49f26 fix for possible crash using freed ObCenter pointer when loaing a blend file without loading the UI. 2012-03-26 07:28:31 +00:00
Campbell Barton
94b8b8913e rename lattice influence to strength from r45144 (other deform modifiers call it strength too) 2012-03-26 00:42:21 +00:00
Sergey Sharybin
1ce2c73816 Code style cleaup for motion-tracking modules.
Should be no functional changes.
2012-03-25 23:19:21 +00:00
Campbell Barton
4457e85442 style cleanup: dont use 'else for' for extended blocks of code (quite confusing) 2012-03-25 23:12:42 +00:00
Campbell Barton
6faeac9fe2 style cleanup: add braces around checks - 'if ELEM() {...}', confuses some parsers that done expand macros. 2012-03-25 22:35:18 +00:00
Thomas Dinges
aede928bdc Patch: [#30652] Influence slider for Lattice Modifier
* This patch adds a influence slider for the lattice modifier, which affects the strength of the deformation. 

Patch by Patrick Boelens (senshi), thanks a lot!
2012-03-25 22:14:21 +00:00
Campbell Barton
b8a71efeba style cleanup: follow style guide for/with/if spacing 2012-03-24 07:52:14 +00:00
Campbell Barton
81d8f17843 style cleanup: pep8, indentation 2012-03-24 07:36:32 +00:00
Campbell Barton
69e6894b15 style cleanup: follow style guide for formatting of if/for/while loops, and else if's 2012-03-24 06:18:31 +00:00
Campbell Barton
2f348d8b5d style cleanup: mainly for mesh code, also some WM function use. 2012-03-24 02:51:46 +00:00
Campbell Barton
3c11379e26 code cleanup: move bmesh inline funcs to headers (avoids compiling the C files). 2012-03-24 01:24:58 +00:00
Campbell Barton
7ff77ed4ea code cleanup: use zero_v3 2012-03-23 20:18:09 +00:00
Bastien Montagne
caebbb264c Fix for [#30438] x=zero not accepted for a bone tail.
In fact, problem was in vec_roll_to_mat3(), which has to detect when the bone is aligned with its Y axis, using a threshold. This one have been raised to quite a high value due to bug [#23954], then lowered a bit due to [#27675] (which is imho in fine the same problem as 30438).

Reset it to its org value (very low 1e-13), as testing file given with firt bug did not show any problem anymore... So now, instead of 1/1000 of bone length from Y axis, we have about 3.25*10-7... Only (hardly) noticeable at max zoom level in 3D view.
2012-03-23 09:18:00 +00:00