Commit Graph

31506 Commits

Author SHA1 Message Date
Campbell Barton
622ac0dd16 code cleanup:
replace casts: '((Mesh *)ob->data)->edit_btmesh' with 'BMEdit_FromObject(ob)'

also minor style edits.
2012-03-02 12:09:49 +00:00
Campbell Barton
cf927d3fd1 bmesh minor changes
* dont check selection and hiddent state (select + hide isnt allowed and api ensures this)
* MESH_OT_noise had incorrect check for texture (checked if slot [0] was filled but then used active texture)
2012-03-02 10:49:15 +00:00
Bastien Montagne
47a1c7e5aa Fix [#30419] Median wrongly setting lattice vertex weights.
In fact, the same bug affected curves' weights too. Now using the same method as for setting mesh edges' crease and bevel weights. Also factorized/simplified that part of code by defining a new utility func computing the scale factor.

Also greatly simplified UI code in same v3d_editvertex_buts() function, was really over-complicated (this fixes btw a few minor UI bugs in the transform editmode panel, like missing tips, etc.).
2012-03-02 10:30:11 +00:00
Campbell Barton
979a80e743 minor edits to last commit - use fixed chunksize, rather than the number of verts/edges/faces in bm_mempool_init(). 2012-03-01 23:59:34 +00:00
Campbell Barton
c26f5035b6 style cleanup for mempool 2012-03-01 23:14:51 +00:00
Campbell Barton
bc767059cb Code Cleanup: update to mempool, use flag rather then bool args. 2012-03-01 22:59:18 +00:00
Campbell Barton
921a7556fb bmesh - changes to mempool allocations
* double default edge allocation size (double the number of verts/faces).
* CustomData_bmesh_init_pool was using allocsize & chunksize as the same variable. Now use type specific chunk size.
* bmesh copy and editmode conversion now allocate the BMesh mempool size needed for the entire vert/edge/loop/face arrays since its known already.
2012-03-01 22:17:04 +00:00
Brecht Van Lommel
2942eab57c Fix #30413: dynamic paint crash with texture slots with no texture assigned. 2012-03-01 20:41:13 +00:00
Campbell Barton
9aafe32147 bmmesh api - use struct rather than int[4] to initialize mesh sizes.
also correct bad assert() in previous commit.
2012-03-01 20:09:17 +00:00
Brecht Van Lommel
d534f0e16d Fix #30405: combine HSVA node not working correct with fixed color instead
of socket connected as input, patch by Denis Declara.
2012-03-01 20:05:14 +00:00
Brecht Van Lommel
8643b8a02d Fix related to #30416: python render_stats handler now also gets called when the
saved file message is printed.
2012-03-01 19:19:10 +00:00
Brecht Van Lommel
dff2e84427 Fix #30415: motion blur option still had an effect on external engines / cycles,
should not be used then.
2012-03-01 19:19:04 +00:00
Campbell Barton
e69a758eaa fix [#30280] bmesh: Dissolve with error message kills Crease
CD_MASK_BMESH was didnt include crease of bevel weight - so copying the bmesh would skip these.
2012-03-01 19:05:14 +00:00
Campbell Barton
522b73a635 bmesh api:
* name bmesh operator func's BMO_slot_buffer_* rather then BMO_slot_* since it wasnt obvious some only dealt with buffer, some both.
* more typechecks and asserts of BMO_ functions (I lost some time calling a map with a buffer function that failed silently).
* small speedup for extrude check - test if the edge is wire _before_ doign a hash lookup.
2012-03-01 17:38:04 +00:00
Campbell Barton
1f473a78b8 Code Cleanup: remove bmesh_radial_loop_next() function,
just access l->radial_next
2012-03-01 17:13:02 +00:00
Lukas Toenne
c1e8d77842 Same fix for file output node as Brecht did in r44580, EXR compression is defined in exr_codec instead compression. 2012-03-01 17:02:05 +00:00
Campbell Barton
e89f09a774 fast-path for BM_edge_is_manifold, BM_edge_is_boundary functions. 2012-03-01 16:56:42 +00:00
Brecht Van Lommel
93249c35b1 Fix related to #30384: multilayer exr files not saving compressed correctly. 2012-03-01 16:41:51 +00:00
Campbell Barton
3b8d96820f fix [#30399] bmesh: Extrusions adjacent to mirror plane leave stray edges.
thanks to Antony Riakiotakis for finding the cause.
2012-03-01 16:27:44 +00:00
Campbell Barton
64007f5625 bmesh regression with extrude.
Extruding an edge where both verts were clipped would not create a face for this edge.

This is ok when a connected face is also extruded but not when the edge is selected on its own.
2012-03-01 16:12:11 +00:00
Campbell Barton
4a5078d6c9 style cleanup
* add extra argument to BMO_slot_map_to_flag() to filter by vert/edge/face
* made BMO_slot_map_* / BMO_slot_buffer_* functions stricter with type checking.
2012-03-01 16:04:37 +00:00
Campbell Barton
216f74880e style cleanup: bmesh - have continue on new line, also avoid unneeded loop in bmo_extrude_face_region_exec() in some cases. 2012-03-01 13:13:08 +00:00
Campbell Barton
ea13ec1699 Spelling Cleanup 2012-03-01 12:20:18 +00:00
Lukas Toenne
6a36b6249b Call the node freestorage callback _before_ actually freeing sockets, since this is also responsible for freeing possible socket storage data. 2012-03-01 12:07:59 +00:00
Lukas Toenne
b671f5e0de When adding a file output socket make it active, for convenience. Also move back one index when deleting the last. 2012-03-01 11:41:15 +00:00
Lukas Toenne
171d6bf509 Fix for Multilayer EXR API. This was using implementation stubs directly in the header file, causing problems with scons in particular. 2012-03-01 11:19:41 +00:00
Lukas Toenne
537605f0d4 Fix for wrong channel number in ImBuf when file node output format is something other than RGBA. This doesn't get set in the init function, has to be done manually (i guess?). 2012-03-01 08:47:32 +00:00
Lukas Toenne
77442de6c0 * Removed DNA_DEPRECATED tag from old NodeImageFile struct typedef, it doesn't work that way (duh)
* Moved format field and added (deprecated) sfra and efra ints to ensure some forward compatibility of file output node. Earlier blender versions will simple interpret the struct as NodeFileImage, so by matching the first fields the numbers can stay somewhat valid.
2012-03-01 08:17:16 +00:00
Lukas Toenne
2eb29e4788 A number of improvements for the file output node(s).
1) Old CMP_NODE_OUTPUT_FILE and CMP_NODE_OUTPUT_MULTI_FILE have been merged,
only CMP_NODE_OUTPUT_FILE remains. All functions renamed accordingly.

2) do_versions code for converting single-file output nodes into multi-file
output nodes. If a Z buffer input is used, the node is made into a multilayer
exr with two inputs. (see below). Also re-identifies multi-file output nodes
with the CMP_NODE_OUTPUT_FILE type.

3) "Global" format is stored in node now. By default this overrides any
per-socket settings.

4) Multilayer EXR output implemented. When M.EXR format is selected for node
format, all socket format details are ignored. Socket names are used for layer
names.

5) Input buffer types are used as-is when possible, i.e. stored as B/W, RGB or
RGBA. In regular file output the format dictates the number of actual channels,
so the CompBuf is typechecked to the right type first. For multilayer EXR the
number of channels is more flexible, so an input buffer will store only the
channels it actually uses.

6) The editor socket type is updated from linked sockets as an indicator of the
actual data written to files. This may not be totally accurate for regular file
output though, due to restrictions of format setting.
2012-03-01 07:56:15 +00:00
Sergey Sharybin
1d5a3886a1 Fix crash on edge slide when object has got multires modifier
Issue was caused by fix for slide+automerge bug resulted in accessing to freed memory
from multires projection code. Solved by moving multires projection from cleanup callback
to special_aftertrans_update.

Patch by Antony Riakiotakis with some own corrections.
2012-03-01 07:10:45 +00:00
Nicholas Bishop
4dfc25223f Remove struct NgonInterpModifierData and related ModifierType Info.
This modifier was already removed in r44288, looks like these were
just missed.
2012-03-01 02:20:10 +00:00
Campbell Barton
af0a469307 fix [#29135] NGons dont work with loop cut
patch by Andrew Wiggin
2012-02-29 17:23:41 +00:00
Sergey Sharybin
034b1711ea Changes to startup.blend:
- Pinch/Magnify brush isn't available from vertex paint mode anymore.
- Switch default texture to Low Quality bump method
  The same method is used for new textures and it makes possible to
  view bump in 3D viewport with GLSL shading.
- Anisotropic filtering is set to 2x by default.
2012-02-29 17:01:43 +00:00
Campbell Barton
6c53638863 add an assert for inserting an egde with the same vertices and a BMESH_TODO for bevel. 2012-02-29 16:29:09 +00:00
Campbell Barton
ce64128a84 error in recent header commit. 2012-02-29 15:42:34 +00:00
Howard Trickey
fc84402632 Mistake in previous commit test for API vert new: it failed for no-arg case. 2012-02-29 15:35:10 +00:00
Campbell Barton
29b027294d use floats rather then doubles for bmesh poly functions. 2012-02-29 15:21:09 +00:00
Howard Trickey
87af0e1912 Undid part of commit 44552: can't use mathutils on doubles 2012-02-29 15:10:01 +00:00
Campbell Barton
7cc206ddca Code Cleanup: remove non existing function declarations.
added some missing functions too - which are not used yep but should be there for api completeness.
* CDDM_set_mloop
* CDDM_set_mpoly
* BLI_mempool_count
2012-02-29 15:00:37 +00:00
Sergey Sharybin
0cec655b29 Fix #30328: Crash when using edge slide
Looks like it was missed BMesh element index for faces in emDM_drawMappedFacesMat.
There was already call of BM_mesh_elem_index_ensure to ensure there's element
index for vertices, added flag to ensure there's also index for faces.
2012-02-29 14:32:09 +00:00
Howard Trickey
0d2ba6bff6 Code cleanup, no functional change: use mathutils copy
Also renamed a variable to make intent clearer (else seemed like
there was a bug).
2012-02-29 14:23:31 +00:00
Howard Trickey
d330efa084 Fix 30401: Python API vert new((0,0,0)) crashes.
Thanks to Campbell for fix, adding an & to an arg.
Also needed to negate the sense of a later test.
2012-02-29 14:16:35 +00:00
Brecht Van Lommel
3e159f65f9 UI: change shortcut to clear value in button with mouse over it (for the second
time, sorry), from delete to backspace. Delete did not work on buttons in nodes,
because it would delete the node itself or if we changed the priority interfere
with deleting nodes if the cursor was placed accidentally over a button in a node.

Patch by Damir Prebeg.
2012-02-29 14:10:12 +00:00
Campbell Barton
17ee9f77c5 bmesh py api - initial support for selection history. 2012-02-29 14:05:03 +00:00
Sergey Sharybin
c058ba207f Compilation error fix for recent indicer refactor commit. 2012-02-29 13:17:11 +00:00
Sergey Sharybin
d8bdd4497e Refactor of proxies build operators
Split proxy build operator into three parts:
- Prepare context (IMB_anim_index_rebuild_context) which prepares all
  needed data and stores it in an anonymous structure used by specific
  builder lately.
- Build proxies/timecodes into temporary files (IMB_anim_index_rebuild)
  This function will build all selected proxies/timecodes into a temporary
  files so old proxies will be still available during building.
- Finish building proxies (IMB_anim_index_rebuild_finish) which copies
  temporary files over old proxies filed and releases all resources used
  by a context.

Context creation and finishing building happens in a main thread so
it's easy and safe to close all opened handles of proxies files and
refresh cache after rebuilding is finished.

This should finally fix #30315: Temporary proxy files are not erased and old proxys are not updated if the proxy is built more then once (windows)
2012-02-29 12:08:26 +00:00
Nicholas Bishop
33baddfc47 Code cleanup: replace a few macros in CCGSubSurf with inline functions. 2012-02-29 08:35:23 +00:00
Campbell Barton
a6f420b828 update doxygen comments for bmesh. 2012-02-29 06:55:10 +00:00
Nicholas Bishop
b18794c3b6 Add blenlib function to initialize vectors from a single float.
The new functions are copy_v2_fl, copy_v3_fl, and copy_v4_fl.
2012-02-29 04:17:26 +00:00
Mike Erwin
8600c8df43 ndof button handling improvements: Spaceball5000's A,B,C buttons can now be keymapped, ndof modifiers (shift,alt,etc.) are almost ready but still hardcoded to act like keyboard for now. added a check to prevent crash on Linux when device is plugged in after blender starts. also fixed a bug introduced by my last commit that affected the SpaceTraveler and serial devices. 2012-02-29 02:44:08 +00:00