Commit Graph

1383 Commits

Author SHA1 Message Date
Campbell Barton 40e3ae6478 correct ifdef'd scanfill code, incase someone wants to test. 2012-04-18 15:09:13 +00:00
Campbell Barton abcaec0edc code cleanup: replace magic numbers in scanfill with defines, also use some vector functions where possible 2012-04-18 14:30:57 +00:00
Campbell Barton ddbb4db1d3 fix [#30995] Wavefront obj. file export/import issue with splited edge 2012-04-18 09:04:07 +00:00
Campbell Barton 1f01d62d15 more replacement for BM_edge_face_count() use. 2012-04-18 06:57:28 +00:00
Campbell Barton f1ececaabb code cleanup: replace use of BM_edge_face_count with BM_edge_is_manifold and BM_edge_is_boundary 2012-04-18 06:44:48 +00:00
Campbell Barton 830013aabe fix error in single vertex ripping where the edit-selection could be left on unselected verts or not set on the newly ripped vertex.
also some corrections to comments.
2012-04-17 18:36:29 +00:00
Campbell Barton 1d6a5a4aa4 fix [#30970] Rip Tool: selecting the side of edges works incorrectly 2012-04-17 18:14:31 +00:00
Brecht Van Lommel daf98a7184 Attempted fix for #30985: knife draw messing up display after confirming. I couldn't
redo the problem, but the depth test toggle here should be conditional as in other
3d view drawing code.
2012-04-17 17:25:10 +00:00
Brecht Van Lommel 8ae502ae99 Fix #30977: error loading modal keymaps from keyconfiguration presets. 2012-04-17 15:40:04 +00:00
Campbell Barton 09f722740f move rip out into its own file 2012-04-17 10:25:23 +00:00
Campbell Barton 3486223607 code cleanup: remove/comment some unused code. 2012-04-17 05:09:37 +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
Campbell Barton 37a79f4727 fix [#30972] Editmesh split by materials not working. 2012-04-16 13:49:04 +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
Campbell Barton bd613739ae bmesh todo: remove unused code. 2012-04-16 10:29:59 +00:00
Campbell Barton 4ebcae7158 bmesh todos:
- dont do name based object lookup to find the object for a mesh undo state (possibly object is renamed inbetween undos which would crash)
- remove some todo comments for things that are working as they should.
2012-04-16 09:34:43 +00:00
Campbell Barton 1492754c8f bmesh todo: ctrl+l now delimits by hidden faces. 2012-04-16 08:44:11 +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
Francisco De La Cruz 86508076d8 Fix [#30943] Crash when edge mode enabled and use the bmesh vertex slide(shift-V)
Also fixed snapping sensitivity. Gave BMOp a more consistent name "vertex_slide".
2012-04-15 18:34:13 +00:00
Brecht Van Lommel 97538bd9ed Fix #30960: various mesh operators were missing tooltip descriptions. 2012-04-15 10:07:57 +00:00
Brecht Van Lommel 46146ecd08 Tweak knife/unwrap tesselation code a bit, it uses a random offset, now also
seed the random number generator to at least make these operator repeatable.

I don't know why it is using random numbers at all, we should really not be
doing this in my opinion, but I don't understand why it's being done so won't
remove it.
2012-04-15 10:06:36 +00:00
Brecht Van Lommel 637387b8ac Fix #30949: live unwrap when marking seams did not work with bmesh. 2012-04-15 09:20:42 +00:00
Bastien Montagne e5bda9f827 Fixed some UI message typos (spotted by Leon Cheung, thx). 2012-04-14 15:44:31 +00:00
Antony Riakiotakis 152b253c2c remove duplicate notifier event 2012-04-13 15:33:29 +00:00
Campbell Barton e9358a3806 bmesh api changes:
- remove recently added BM_mesh_select_flush_strip(), functions purpose wasn't clear.
- add BM_mesh_elem_hflag_disable_test(), BM_mesh_elem_hflag_enable_test()
  to match existing BM_mesh_elem_hflag_enable/disable_all(), these take a hflag to test before editing each element.
  This replaces the need for BM_mesh_select_flush_strip().
2012-04-13 04:02:26 +00:00
Campbell Barton 8c70caf966 fix for UV reveal (wasnt selecting all verts because check for unselected vert was incorrect after selecting the first face). 2012-04-13 03:41:07 +00:00
Campbell Barton 405c9d9a95 code cleanup: remove unused KeyBlock.adrcode 2012-04-12 11:50:43 +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
Brecht Van Lommel 93e00af7e5 Fix #30850: bevel tool only works on edges but tooltip indicated it worked on
vertices too, fixed tooltip. Also add bevel to edge menu since it works edge
based.
2012-04-10 15:51:22 +00:00
Howard Trickey 25492d1e4c Fix bug 30866: prevent 2-sided polygons from knife cuts.
Blender bmesh code assumes there aren't any of those, so crashed
when trying to delete a vertex involved in one.
2012-04-09 12:50:43 +00:00
Campbell Barton d5953568c8 use 'const float[3]' for derived mesh callback args. 2012-04-09 07:06:06 +00:00
Campbell Barton f5bb4635c6 fix [#30852] Wrong Material ID applied for the new faces 2012-04-09 05:17:07 +00:00
Campbell Barton 4fc6ef1cf5 style cleanup: pep8 some C/style 2012-04-08 08:09:37 +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
Francisco De La Cruz 68daca1cbf Fix [#30853] "Merge At Last" is missing in multicomponent mode
Mode selection inverted in multicomponent mode including vertices.
2012-04-07 23:31:15 +00:00
Francisco De La Cruz cbd95d8159 Fix [#30855] Vertex Slide not using the active vertex
Now uses the last selected vertex. 
Also, snapping thresholds are now dynamic and the tool's operation should be more consistent with multiple edges selected on invocation.
2012-04-07 19:53:39 +00:00
Campbell Barton 99aaf0812c fix for vertex slide not taking object transformation into account.
also make the shortcut 'Shift+V'
2012-04-07 13:42:00 +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
Francisco De La Cruz 6482351ed9 Added Vertex Slide: Slides a vertex along a selected and connected edge (Shift+Ctrl+V)
-
BMop: "vertslide vert=%e edge=%hfev distance_t=%f"
2012-04-07 03:15:20 +00:00
Campbell Barton 831f0e6283 option to have inset face select the interior faces (mango request) 2012-04-06 10:33:45 +00:00
Campbell Barton eeb9977bfd fix crash with stack memory usage for the knife tool.
knife cutting ~25000 faces would crash with 8mb stack set.

fix by removing generic iterators in functions which do recursive calls.
2012-04-06 06:17:52 +00:00
Campbell Barton 3a33568261 patch [#30812] Couple operator tooltip proposals (editmesh_tools.c)
from Sebastian Nell (codemanx), with some edits.
2012-04-05 07:05:44 +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
Campbell Barton cc6b8bd3e6 fix [#30786] bmesh: select linked not ignoring hidden verts/edges/faces (part 2) 2012-04-03 07:35:50 +00:00
Campbell Barton 817a96f243 fix [#30735] bmesh: loop-cut cuts faces isolated by hidden faces 2012-04-03 06:12:04 +00:00
Campbell Barton 817a407a62 patch [#30779] Multiselect mode cause inconsistent selection growing
from Francisco De La Cruz (xercesblue)

The test to use faces was incorrect since mixed vertex and edge mode would be treated as faces.

made own minor change.
2012-04-03 02:46:44 +00:00
Brecht Van Lommel 4458ce1aba Fix #30770: missing node editor redraw when changing active material by clicking
on face in edit mode.
2012-04-02 11:51:36 +00:00
Campbell Barton 48059cc329 fix problem with select invert - flush selection.
previously this wasnt needed because doing an undo push would flush the selection.
2012-04-02 09:07:02 +00:00
Campbell Barton 7d9f0232df adding back boundary inset support. was disabled because at one point it was unstable. 2012-04-02 08:58:26 +00:00