Commit Graph

31220 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 d7542be6ac code cleanup: more minor changes to scanfill 2012-04-18 14:36:56 +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 ca913254aa fix for eternal loop in scanfill,
The cause for this is bmesh faces which have zero area have their normals set to a fake value (Z-Up), this would break scanfill, possible fixes are to calculate the faces normal each time or tag as invalid but its easiest to avoid the eternal loop with an extra test.
2012-04-18 14:06:59 +00:00
Campbell Barton 580f19d949 fix [#30994] Extruding faces gives bad UV's
this had strange logic, there was no need to loop over all face loops.
2012-04-18 09:56:19 +00:00
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
Campbell Barton ddbb4db1d3 fix [#30995] Wavefront obj. file export/import issue with splited edge 2012-04-18 09:04:07 +00:00
Brecht Van Lommel 6d346724d3 Fix redo not working correct after keyboard input for shear, shrink/flatten,
push/pull, edge slide tools. Patch by Nicholas Rishel.
2012-04-18 08:26:58 +00:00
Campbell Barton c776418b24 add missing NULL check for BM_vert_collapse_faces(), could crash in rare cases. 2012-04-18 08:11:08 +00:00
Campbell Barton 08478a10d1 fix [#30921] Bevel modifier's is not work correctly with bevel weights
replace dissolve function with one from 2.62 (updated for the new bmesh api).
2012-04-18 07:29:12 +00:00
Campbell Barton 9a4aecbcc3 bmesh: fix own bug in BM_vert_collapse_faces() with option 'kill_degenerate_faces', was removing data as it iterated, would crash in some cases. 2012-04-18 07:27:15 +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 27696ddae1 fix error in last commit. Misunderstood BM_vert_is_manifold(), added some comments. 2012-04-18 06:36:47 +00:00
Campbell Barton 6389301eb5 fix for own error in recent scanfill updates, scanfill can hang if run on a polygon with no area. 2012-04-18 05:52:18 +00:00
Campbell Barton df27c315ce code cleanup: minor edits to bmesh_jfke(), move simple checks first. 2012-04-18 04:44:50 +00:00
Campbell Barton a1337caac0 bmesh api: minor simplify & cleanup
- add BM_face_edge_share_loop(f, e) -- edge version of existing BM_face_vert_share_loop(f, v)
- simplify BM_edge_ordered_verts_ex(), check could be reduced.
- use BM_ELEM_INTERNAL_TAG for bmesh_jfke(), not BM_ELEM_TAG to avoid clobbering tagged data tools might use.
2012-04-18 04:32:55 +00:00
Campbell Barton fdea14acb4 save thumbnail from the 3D view if no camera is present. 2012-04-17 20:51:11 +00:00
Campbell Barton 149c52859b code cleanup: use const args for writing files. 2012-04-17 19:51:40 +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 1df6f88b5d Fix blenderplayer build, added stub. 2012-04-17 16:51:10 +00:00
Brecht Van Lommel e9f1ea691c Fix #30570: UI issue editing modal keymaps below operators using them. 2012-04-17 16:21:13 +00:00
Campbell Barton e6adcfe8c6 bmesh api: adjust bmesh_vert_separate() not to set the loops index values (need them to be left untouched for other tools). 2012-04-17 15:44:19 +00:00
Brecht Van Lommel 8ae502ae99 Fix #30977: error loading modal keymaps from keyconfiguration presets. 2012-04-17 15:40:04 +00:00
Brecht Van Lommel 3f9fce6542 Fix #30980: edge slide Correct UVs option not working.
Was a bmesh todo, main issue was with shape keys, now disabled any changes to
the shape key data layer, and disabled the option altogether when editing
non-basis shape keys.
2012-04-17 14:24:04 +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 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
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
Campbell Barton 67f8e3a3a7 inline function for "Newell's Method" used for normal calc. 2012-04-16 16:49:37 +00:00
Campbell Barton e889fa4678 improve scanfill for uneven ngons, previously scanfill would use the most angular corner, but this made non planer ngons rip frequently (often reported problem).
now calculate the normal as with ngons.
2012-04-16 16:24:55 +00:00
Campbell Barton 0f7ab89b4e fix for fail thumbs being used when the failed thumbnail image is older then the image/movie/blend. 2012-04-16 15:13:21 +00:00
Campbell Barton e0605cca9a fix error when a failed thumb overrides a newer good thumbnail.
on saving blend file remove failed thumb.
2012-04-16 14:34:48 +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
Campbell Barton 37a79f4727 fix [#30972] Editmesh split by materials not working. 2012-04-16 13:49:04 +00:00
Lukas Toenne c509f687ca Avoid invalid delete call when loading multilayer EXR files with that don't fit the Blender pass naming scheme. If the imb_exr_begin_read_mem function fails reading the EXR (e.g. because of too many channels per pass) it deletes the file internally, leading to segfault on second delete. 2012-04-16 11:57:22 +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 bd613739ae bmesh todo: remove unused code. 2012-04-16 10:29:59 +00:00
Campbell Barton a72076a2da bmesh todo: snap to volume with dupli's works again 2012-04-16 10:09:26 +00:00
Campbell Barton dbc3955253 code cleanup: remove bmesh todo, which infact is working fine. 2012-04-16 10:02:52 +00:00
Sergey Sharybin 987dd55245 Fix #30958: Right click menu and add shortcut for importers/exporters doesn't work
This was caused by how keymap is guessing for importer/exporter:

- In some cases if detected wrong keymap like for IMPORT_CURVE_OT_svg
  curve editing context was used because of CURVE_OT substring in
  operator name
- In other cases no keymap was detected because of substrings
  WM_keymap_guess_opname cheched.

Fixed by using Window keymap for any operator with EXPORT_/IMPORT_ substring
which seems to detect importer/exporter operator and only them nicely.
2012-04-16 09:55:54 +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
Brecht Van Lommel 9cf2e5baf6 Fix windows compile issue with missing isnan. 2012-04-16 08:11:07 +00:00
Campbell Barton 52023f9e88 bmesh todos:
- curve undo now runs ED_curve_updateAnimPaths() again.
- comment out unneeded index setting.
2012-04-16 08:04:12 +00:00