Commit Graph

2375 Commits

Author SHA1 Message Date
Bastien Montagne
1768bd2c33 Fix T37617: "Add plane" was adding a 2*2 grid
Was a regression from rBaa3c06b41ca9, hope this time all things are OK again (note the X/Y subdivision values still are different than before (-1 for same result), but imho they make more sense this way).
2013-11-25 21:01:22 +01:00
Campbell Barton
63caaa2b12 Code Cleanup: rename vars for detecting change to be more consistent
rename change/is_change/is_changed/modified -> changed
also use bools over int/short/char and once accidental float.
2013-11-26 06:39:14 +11:00
Campbell Barton
41a9007760 Fix mesh triangulate not flushing selection 2013-11-25 17:54:18 +11:00
Walid Shouman
238d2f962d BMesh Refactor: BKE_bmbvh_new can now be created without an EditMesh.
This adds BM_bmesh_calc_tessellation() so we can get triangles from a
bmesh without having to have an editmesh available.
2013-11-18 18:25:47 +11:00
Bastien Montagne
59e4600526 Fix [#37380] vertex paint colors don't render.
Another Evil Typo (r) one, you could add much more than the 8 allowed VCol layers!

Note: added some (warning-only) checks in mesh validate functions, but we still have a big issue with new cdlayer merge function, which could generate more than 8 layers of UVs or VCol... Don't know yet how to handle this situation. :(
2013-11-11 20:37:19 +00:00
Howard Trickey
3967371886 Used wrong RNA access routine in bevel amount commit. 2013-11-11 12:19:39 +00:00
Howard Trickey
bfb9cefccb Added options for how bevel amount is measured.
Now there is an 'Offset Type' dropdown on tool
shelf with types:
Offset - current method, offset of new edge
  from old along sliding face
Width - width of new bevel face (if segments=1)
Depth - amount a chamfering plane moves down
  from original edge
Percent - percent of way sliding edges move
  along their adjacent edges

The different options mainly are useful when
beveling more than one edge at once.

Leaving as a TODO to put these in the modifier,
as doing that has more permanent effects so
want to let users shake out problems with this
first.
2013-11-10 12:31:57 +00:00
Sergej Reich
0d1a499366 knife tool: Remove unused 'extend' variable 2013-11-08 18:01:07 +00:00
Sergej Reich
b144f15579 knife tool: Clean up line hits when starting a new cut
Fixes intersection points of the previous cut still being drawn when
starting a new cut.
2013-11-08 18:01:05 +00:00
Howard Trickey
3143536b08 Fix knife bug exposed by valgrind.
Was reading cage coordinate from those of existing
BMVerts even for newly created verts that don't
have cage coordinates there.
2013-11-06 15:27:19 +00:00
Howard Trickey
538a6ed57a Rewrote a lot of knife tool. Now allows cut-through
to make new vertices in the middle of faces.
This also fixes knife bugs:
#36678, #35945, #35943, #35387, #35045, #35002.
2013-11-05 16:24:00 +00:00
Bastien Montagne
f4762eb12b UI messages fixes... 2013-11-04 18:58:22 +00:00
Howard Trickey
e8c54b682a Add 'cut-through' option for Knife Project operator.
If enabled, it makes knife project act as the
cut-through (Shift-K) version of knife.
This option will soon be more useful when a better
cut-though Knife change is submitted, allowing
this to work for cuts within faces in addition
to cuts across them.
2013-11-01 11:42:11 +00:00
Campbell Barton
7371aaab08 fix for weight-paint crash picking the weight with the mask modifier (or any modifier which removes geometry).
was incorrectly mixing indices from the DerivedMesh and the original mesh.
2013-11-01 01:14:36 +00:00
Campbell Barton
7267221715 remove return argument from wmOperatorType->cancel, was only ever returning OPERATOR_CANCELLED. 2013-10-30 23:08:53 +00:00
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
Campbell Barton
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
Campbell Barton
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
Campbell Barton
ff7dbdbaee rename give_cursor to ED_view3d_cursor3d_get 2013-10-26 04:07:18 +00:00
Jonathan Williamson
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
Campbell Barton
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
Campbell Barton
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
Campbell Barton
a00c693f99 note in bisect tooltip that you need to click-drag the plane. 2013-10-14 08:45:43 +00:00
Campbell Barton
eabf7ab335 code cleanup: utility function for getting a bool as a string. 2013-10-13 00:32:31 +00:00
Campbell Barton
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
Campbell Barton
b6db417ee4 code cleanup: use const's for vector args. 2013-10-12 02:19:37 +00:00
Campbell Barton
3f5be1ef0a fix for select linked walking over the same faces multiple times. (caused gset assertion). 2013-10-10 23:18:37 +00:00
Campbell Barton
03602dc158 use BLI_bitmap for editmesh selection buffer to save some memory. 2013-10-10 22:30:16 +00:00
Campbell Barton
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
Campbell Barton
e220d3228f add MEM_SIZE_OPTIMAL to avoid memory fragmentation & waste lost to slop-space. 2013-10-10 18:18:13 +00:00
Campbell Barton
1f53674bb8 avoid divide by zero with grid fill (when there is no selection) 2013-10-05 11:59:15 +00:00
Campbell Barton
0b1cf4c2ea code cleanup: warnings and minor edits. 2013-10-04 17:47:58 +00:00
Campbell Barton
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
Campbell Barton
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
Campbell Barton
4cb4dc8432 remove assert recently added to EDBM_backbuf_check and explain odd logic. 2013-10-03 07:02:52 +00:00
Campbell Barton
bab799bf25 fix regression - convex hull tool leaving new faces unselected. 2013-10-01 18:23:39 +00:00
Campbell Barton
1fa59cdf4d allow knife-project to use sub-pixel length edges. 2013-10-01 15:52:29 +00:00
Bastien Montagne
3ccb370d38 Usual UI messages fixes... 2013-09-30 19:30:56 +00:00
Campbell Barton
d6a52c67d5 fix [#36861] In face select masking circle select selects all when out of focus. 2013-09-30 07:58:38 +00:00
Campbell Barton
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
Campbell Barton
f06b440d63 quiet warnings (converting pointer to boolean) 2013-09-26 10:35:41 +00:00
Campbell Barton
8bbe81db4d knife was projecting vertex locations to the screen when it wasnt needed. 2013-09-25 11:38:30 +00:00
Campbell Barton
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
Campbell Barton
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
Howard Trickey
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
Howard Trickey
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