Commit Graph

2360 Commits

Author SHA1 Message Date
Dalai Felinto
a7b44c82e5 Triangulate Modifier: using different ngon and quad methods
Quads: Beauty, Fixed, Fixed Alternate, Shortest Diagonal
Ngons: Beauty, Scanfill

* Shortest Diagonal is the default method in the modifier (popular
  elsewhere), but beauty is the default in Ctrl+T).

* Remove the need for output slot and beauty operator to be called
after Clt+T

Patch with collaborations and reviewed by Campbell Barton
2013-10-29 02:42:51 +00:00
3264461598 move bmesh array lookup data and utility functions from editmesh into bmesh,
since enough bmesh operations can also take advantage of direct index lookups on verts/edges/faces.

developers note:
- EDBM_index_arrays_init/ensure/free -> BM_mesh_elem_table_ensure/init/free
- EDBM_vert/edge/face_at_index -> BM_vert/edge/face_at_index
- EDBM_uv_element_map_create/free -> BM_uv_element_map_create/free
- ED_uv_element_get -> BM_uv_element_get
2013-10-28 02:05:33 +00:00
dee671276d rename BM_vert_at_index -> BM_vert_at_index_find (since this searches the mempool).
needed for other changes - coming.
2013-10-27 10:01:35 +00:00
ff7dbdbaee rename give_cursor to ED_view3d_cursor3d_get 2013-10-26 04:07:18 +00:00
b7f0a1fabe Updating tooltip for Fill Holes "Sides" option.
This makes the tooltip much more descriptive to tell the user what the setting does. Suggestion by Thomas Beck and bcon13.
2013-10-25 14:12:22 +00:00
292d1f55fd refactor transform.c - minor changes
- use TREDRAW_HARD define
- use apply prefix for transform callbacks.
- make callbacks static.
2013-10-23 03:57:42 +00:00
ac602142d3 add 'Extrude Region, Vertex Normal' to the extrude menu, equivalent of 'Extrude, Escape, Alt+S' 2013-10-15 18:30:49 +00:00
Dalai Felinto
70efa7f1aa renaming "Beautify Fill" to "Beautify Faces"
changing the ot->name only, not the ot->idname
(to avoid breaking scripts)

The tool requires the selection to be fill previously,
the original name was confusing if we consider we have
"Fill" with the "Beauty" option.

Discussed with Bastien Montagne and Brecht van Lommel.
2013-10-15 15:34:14 +00:00
a00c693f99 note in bisect tooltip that you need to click-drag the plane. 2013-10-14 08:45:43 +00:00
eabf7ab335 code cleanup: utility function for getting a bool as a string. 2013-10-13 00:32:31 +00:00
7998b2f6a7 transform - use 2d float's for the viewport center (allows for vector math functions to be used more easily). 2013-10-12 03:42:06 +00:00
b6db417ee4 code cleanup: use const's for vector args. 2013-10-12 02:19:37 +00:00
3f5be1ef0a fix for select linked walking over the same faces multiple times. (caused gset assertion). 2013-10-10 23:18:37 +00:00
03602dc158 use BLI_bitmap for editmesh selection buffer to save some memory. 2013-10-10 22:30:16 +00:00
ecc5eb59c6 fix [#37030] Loop Cut and Slide doesn't clear header text if you click a blank area 2013-10-10 21:04:39 +00:00
e220d3228f add MEM_SIZE_OPTIMAL to avoid memory fragmentation & waste lost to slop-space. 2013-10-10 18:18:13 +00:00
1f53674bb8 avoid divide by zero with grid fill (when there is no selection) 2013-10-05 11:59:15 +00:00
0b1cf4c2ea code cleanup: warnings and minor edits. 2013-10-04 17:47:58 +00:00
5dc9db3533 fix for lasso failing/glitches on overlapping lines, replace scanfill with 2d pixel filling for drawing and selection. 2013-10-04 15:02:05 +00:00
ec4a7fcad1 fix for lasso selection (in non-zbuf mode) when the line intersected its self.
isect_point_poly_v2() - add argument to check overlapping areas.
2013-10-04 10:48:24 +00:00
4cb4dc8432 remove assert recently added to EDBM_backbuf_check and explain odd logic. 2013-10-03 07:02:52 +00:00
bab799bf25 fix regression - convex hull tool leaving new faces unselected. 2013-10-01 18:23:39 +00:00
1fa59cdf4d allow knife-project to use sub-pixel length edges. 2013-10-01 15:52:29 +00:00
3ccb370d38 Usual UI messages fixes... 2013-09-30 19:30:56 +00:00
d6a52c67d5 fix [#36861] In face select masking circle select selects all when out of focus. 2013-09-30 07:58:38 +00:00
b21b24573d lots of operator descriptions were incorrectly copy/pasted.
update some descriptions, others were removed and operators tagged as internal.

add a script to detect duplicate operator descriptions.
2013-09-30 05:50:41 +00:00
f06b440d63 quiet warnings (converting pointer to boolean) 2013-09-26 10:35:41 +00:00
8bbe81db4d knife was projecting vertex locations to the screen when it wasnt needed. 2013-09-25 11:38:30 +00:00
8c7eb60ba0 fix [#36780] Knife Project broken
was regression in r59665 (fix for [#35002]).

now when checking a segment that lies on the same plane as the triangle intersects,
clip the segment by the triangle bounds so we know the points remain inside the triangle.
2013-09-25 08:23:31 +00:00
5342d57a5e allocate bmesh data from known sizes where possible (was still using defaults in places),
add macros for initializing BMAllocTemplate's, also add assert on invalid use of bmesh_sfme()
2013-09-24 03:31:00 +00:00
Dalai Felinto
1ce98989e5 bugfix: [#36786] customdata layers are not merging taken the names into consideration
(which is also "[#36749] Joining objects with more than one uv map depends on list order")

Thanks Bastien Montagne and Brecht van Lommel for reviewing and some advice.
2013-09-21 05:42:34 +00:00
7d7adf4488 Prevent assert failure in knife.
It seems sometimes a knife edge with the same
vertex on both ends was created sometimes.
2013-09-19 13:35:43 +00:00
67fa1a57ba Fix potential crash in knife.
A crash was reported but without info to reproduce.
This is a likely crash introduced by previous fix
to allow linehits to snap to vertices.
The function to find connected linehits can't
assume all linehits have edges any more.
2013-09-19 12:47:35 +00:00
Dalai Felinto
7fa2d32de3 bugfix: [#34663] Cannot rotate view while using Knife tool with Maya preset
fix as suggested by Ton Roosendaal in tracker:
"the knife tool has a "MODE_PANNING" state, it could be nice to set this
in the modal map as well, to define the shortcut(s) that have to be passed on."
2013-09-17 20:35:17 +00:00
Dalai Felinto
5aeade4c60 add support for trackpad navigation while in knife operator
I caught this while looking at:
[#34663] Cannot rotate view while using Knife tool with Maya preset

(though it's not the original report).
I'll look at the other operators, there are probably a few in the same
situation as knife.
2013-09-17 15:20:44 +00:00
0b22cfb1d1 fix [#36246] Weight tools do not mirror properly in vertex selection mask mode.
Weight mirror is now supported by invert/clean/levels/blend.
2013-09-17 07:03:13 +00:00
b380dd9378 fix [#36537] "Grid Floor Scaling" can have some unexpected behaviour on new objects
curves and metaballs now behave the same as meshes wrt grid scaling.
remove WM_operator_view3d_distance_invoke(), and replace with a function called from exec which initializes defaults, this way operators can have their own invoke functions.
2013-09-16 04:19:48 +00:00
7e2977b051 move make_prim_radius_prop into a generic function. 2013-09-16 00:18:09 +00:00
8beb565c59 code cleanup: headers - doxy comments. 2013-09-12 03:02:50 +00:00
a4f12a3e31 fix [#36697] Topology mirror causes vertices to jump?
don't give up too early finding unique geometry by keeping track of edges with matching vertex hashes and keep checking for unique topology as long as the total of these edges keeps increasing.
2013-09-11 02:36:37 +00:00
83b2eefd09 Usual UI messages fixes... 2013-09-09 20:22:01 +00:00
00bd7da674 correct error in recent changes for building with openmp.
rename DM_OMP_LIMIT to BKE_MESH_OMP_LIMIT and set to 0 when in debug mode, same for BM_OMP_LIMIT.
2013-09-09 05:42:26 +00:00
fdce634310 screw tool used uninitialized normal to detect flipping direction.
lookes like bug from bmesh merge, restored from 2.4x.
2013-09-08 22:52:48 +00:00
0423d2b252 changes to grid fill
- use 4 weights for vertex customdata blending (was previously only using 2)
- option for simple blending, which blends locations using weights too and doesn't attempt to maintain the shape,
  useful for flat surfaces or times when keeping the shape gives odd results.
2013-09-07 08:13:39 +00:00
35cd649c66 rename cursor setting functions to make modal set/restore more clearly related functions. 2013-09-06 22:34:29 +00:00
e045e324a4 error in recent gridfill commit, calculating span last failed. 2013-09-06 02:59:25 +00:00
ac60079ef2 grid-fill now detects non-square grids (this is what users would expect)
http://www.graphicall.org/ftp/ideasman42/gridfill_detect_nonsquare.png
2013-09-05 22:58:35 +00:00
3b72f1824c rename positive_mod to mod_i, make it work with nagative numbers (matching pythons modulo), and use in a few more places.
allow mesh-checker-deselect to have a negative offset.
2013-09-05 20:54:32 +00:00
2e0422b17f add function for rotating linked list so at item is last. 2013-09-05 11:40:38 +00:00
8f49054b77 grid-fill can now fill a single, closed edge loop.
the active vertex is used when possible, else the corner vertex is detected.

this should replace the grid-fill-manager addon by Alexander Nedovizin.
2013-09-05 11:07:49 +00:00