Commit Graph

6759 Commits

Author SHA1 Message Date
Campbell Barton
40f4a4b6ba style cleanup: mesh validate.
also add code cleanup script which runs uncrustify and then undoes trailing whitespace edits (reducing diff noise)
2012-04-18 09:16:30 +00:00
Brecht Van Lommel
e4734d3d01 Fix part of #30982: dupliface object with modifiers did not show duplis correct
while in edit mode.
2012-04-17 13:07:13 +00:00
Brecht Van Lommel
3d2f1fd8f9 Fix crash with texture draw in edit mode after commit 45672.
Don't create empty tesselated faces layers in edit derivedmesh, these are
being created on the fly so this will conflicted, and use loop data for
opengl attributes for edit derivedmesh drawing.
2012-04-17 11:02:32 +00:00
Campbell Barton
195d6c1b1a minor speedup for scanfill, dont calculate the normal if its already known - use for editmode ngon filling. 2012-04-16 18:24:49 +00:00
Sergey Sharybin
caafc8184b Fix #30720: Creating Navmesh crashes blender
In fact there were several issues fixed (all of them regressions since bmesh merge):

- Creating navmesh crashed because creating new faces for mesh was trying to set
  default values for all customdata layers in this face. This requires memory
  pool created for this datablock.
  Usually this pool is creating on creating datablock if there're some elements
  to be stored in this block. In cases of regular primitive creating it wasn't
  an issue because they doesn't create customdata layers, they only creates
  geometry.
  Navigation mesh creates geometry and customdata layers (CD_RECAST layer)
  which used to confuse a bit custom data functions. Solved by ensuring there's
  memory pool created for polygons datablock after adding new custom data layer.
  Most probably it's better to be resolved on CD level (like smarter track on
  changed amount of stored data and so) but prefer not to make such global changes
  so close to the release.
- Toggling edit mode lead to loosing recast datalayer. Solved by adding recast
  layer to bmesh mask so it'll be copied to/from edit mesh.
- Some part of code assumed raycast layer is in face datablock, some that it's in
  polygon datablock. Made it to be in polygons datablock.
  Kind of temporary solution to make navmesh working, probably it'll fail if one
  will want to edit navmesh by hand after it was generated.
  Proper way would be to ensure the whole navmesh things are using ngons.
2012-04-16 13:53:30 +00:00
Lukas Toenne
f4498e62a7 Dynamic output sockets for the image input node. This is needed to enable the node to read arbitrary multilayer exr files. Output sockets of this node are now generated dynamically when the image is updated. The image buffer has to be loaded to detect multilayer files on update. 2012-04-16 13:49:33 +00:00
Sergey Sharybin
34814e4755 Port multires_topology_changed to new bmesh api
This call is still needed when loading editmesh because some operations
are not creating CD layer for new loops (like crating new face) and
to prevent loosing all sculpted data when running disps correct
displacement maps should be allocated on loading edit mesh.
2012-04-16 11:03:42 +00:00
Lukas Toenne
5c646e7e3a Reverted r43219 "Improved auto-hiding of unused sockets for collapsed nodes."
This feature did have a number of flaws and caused some controversy, so removal is the better option. Hiding nodes without prior connections would just hide all the sockets, leaving an unusable node. Better way is to use the ctrl+h shortcut to explicitly hide unused sockets when necessary.
2012-04-16 10:50:57 +00:00
Campbell Barton
0635f8101c make scanfill threadsafe (wasnt threadsafe before BMesh merge but before the merge it didn't need to be) - now rendering uses its better if its threadsafe. 2012-04-16 06:48:57 +00:00
Campbell Barton
79693e4543 code cleanup: avoid confusion with incorrectly named argument to BLI_edgefill(), was 'mat_nr', now 'do_quad_tri_speedup' 2012-04-16 05:03:04 +00:00
Campbell Barton
d89db25c53 bmesh api todo:
emDM_getTessFaceDataArray now returns UV's and Colors from editmode loops.
2012-04-16 04:17:33 +00:00
Brecht Van Lommel
ac07f89838 Fix #30948: add scene > copy settings did not copy settings like units, audio, game
data, and tool settings.

What exactly should be copied is a bit up to interpretation, but I think these make
sense, and things like audio or game data used to be part of render settings which
do get copied so at least for those it was a regression.
2012-04-15 08:48:11 +00:00
Campbell Barton
a73d0d3e72 code cleanup: dont include BLI_winstuff.h on non windows systems, also cleanup some defines/includes for windows. 2012-04-15 07:54:07 +00:00
Campbell Barton
969a079aeb code cleanup: comment (almost) all members of KeyBlock & Key. 2012-04-14 03:58:08 +00:00
Campbell Barton
289f627f63 code cleanup: when extending name length Key.elemstr was incorrectly extended to 64 chars, added comment and set back to original length. 2012-04-14 02:48:56 +00:00
Campbell Barton
c8a1ef78c0 style cleanup: key.c 2012-04-14 02:32:32 +00:00
Nicholas Bishop
60d3b8f27b Fix loading external MDisps, BMesh merge bug.
* When converting mfaces to mpolys, load external MDisp data in, add
  CustomDataExternal struct to loopdata if needed.

* Fix multires modifier's filepath RNA functions to use ldata rather
  than fdata.
2012-04-13 05:39:27 +00:00
Campbell Barton
d17efa64a6 improve mesh error prints and quiet a print in mesh_ensure_tessellation_customdata() which happened too often. 2012-04-12 14:36:57 +00:00
Brecht Van Lommel
02cf29d8b0 Fix: subsurf UV was not working correct with n-gons, it still had hardcoded
4 vertices per face code in some places.
2012-04-12 12:23:25 +00:00
Campbell Barton
405c9d9a95 code cleanup: remove unused KeyBlock.adrcode 2012-04-12 11:50:43 +00:00
Campbell Barton
4c9486f13d change add_keyblock() not to sort keyblocks by time since this can be a problem when using the function in lower level parts of the code, instead add add_keyblock_ctime() which sets time and sorts on absolute shape keys. 2012-04-12 11:05:16 +00:00
Campbell Barton
c74ace03e0 fix [#30907] Inset tool with Select Outer disabled does not allow translation of new faces
inset with select-inner faces gave invalid selection.

also correct spelling in some comments.
2012-04-12 07:40:47 +00:00
Campbell Barton
5aaf3ede76 code cleanup: remove unused var for windows and style edit (remove spaces between 'var[num]') 2012-04-12 00:15:02 +00:00
Campbell Barton
b4a0152e76 code cleanup: float formatting was confusing in some cases - eg: (0.,0.,0.) 2012-04-11 08:15:13 +00:00
Brecht Van Lommel
0906ac9914 Fix #30875: active uv texture layer not synced properly when switching from
edit to object mode.
2012-04-10 14:58:21 +00:00
Campbell Barton
3c6239f8be fix for unit system incorrectly replacint 'um' (unicode 'u'). with meters.
result was editing number buttons with um would give a python error.
2012-04-10 02:51:24 +00:00
Campbell Barton
d5953568c8 use 'const float[3]' for derived mesh callback args. 2012-04-09 07:06:06 +00:00
Nicholas Bishop
b7113002db Fix bug [#30863] Array Modifier Start and End Cap cause crash when the Cap Object has vertex group
Another crash with array caps, was caused by not making a deep enough
copy of CD field.

Also fixed the type of the 'mask' parameter, was int where it should
be 64-bit.
2012-04-09 02:14:55 +00:00
Francisco De La Cruz
891b46e074 Fixed compile error when building with WITH_LZMA and not WITH_LZO for pointcache compression. 2012-04-09 01:24:56 +00:00
Campbell Barton
c1e475e527 code cleanup:
- remove unused vars
- no need to hard code version number for collada.
- cleanup some typos in comments.
- movieclip_calc_length was passing arg which should be unsigned to BLI_stringdec()
2012-04-08 07:34:09 +00:00
Sergey Sharybin
fec5221a65 Disabling color channels for float images in clip editor now works fine. 2012-04-07 16:59:06 +00:00
Sergey Sharybin
7018345bee Fixed deadlock on loading file without number group into movie clip editor 2012-04-07 16:37:55 +00:00
Campbell Barton
8fa17c5362 code cleanup: no functional changes
- memset(..., -1) is used incorrectly even though it worked: MOD_solidify.c - thanks Halley from IRC for noticing this. use fill_vn_i() instead.
- quiet warnings in editmesh_slide.c
- cleanup comments in bmesh and some other minor comment additions.
2012-04-07 12:37:15 +00:00
Brecht Van Lommel
ee307bec88 Fix #30798: when linking a datablock, it got simply added to the back of the
list, now the linked datablocks are sorted by name too (but still appear after
the non-linked datablocks).
2012-04-06 16:19:30 +00:00
Daniel Genrich
f349aeacf1 Smoke: Use better standards for inflow
a) Set particle system for inflow to " show unborn"
b) Set particle system for inflow to lifetime = 1
2012-04-06 12:50:46 +00:00
Joshua Leung
186f018e6e Animation version patching for Absolute Shape Keys ("speed" curve ->
"eval_time") now works
2012-04-06 11:45:45 +00:00
Francisco De La Cruz
6408813f6f Fix [#30832] Weight on Bevel modifier has no effect for edges with weight.
Added missing CD_BWEIGHT layer for the modifier's DerivedMesh.
2012-04-06 11:24:42 +00:00
Campbell Barton
906cd4d8a6 update python keywords (remove exec, print, add nonlocal) 2012-04-06 05:53:01 +00:00
Campbell Barton
df29e91a69 code cleanup: header cleanup, remove commented workaround for mingw since its no longer needed. 2012-04-06 04:46:47 +00:00
Campbell Barton
f4ccee2785 adding shape key blocks to absolute shape keys would not set the position (which is odd since its the only time they are used).
also re-sort the shape keys after adding them in for absolute keyblocks.
2012-04-05 05:51:26 +00:00
Campbell Barton
8cddb18da0 - fix error with conflusing key/keyblock in the shape template UI - absolute keyblocks would always be greyed out.
- fix mistake setting wrong variable in unlikely case of curve having no bezier or point array set.
2012-04-05 05:25:20 +00:00
Campbell Barton
db562488d6 report [#30814] Absolute Shape Keys not working in 2.6
This report points out thet absolute shape keys are unusable.

The problem is there was no way to adjust the play time of a shape key (all absolte shape keys would start at frame zero with no way to change the speed).

Added an 'eval_time' property to the key block that works like the curve path evaluation time, so the time in the keyblock can be controlled.
2012-04-05 05:05:18 +00:00
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