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
35cd649c66
rename cursor setting functions to make modal set/restore more clearly related functions.
2013-09-06 22:34:29 +00:00
29efa96940
style cleanup
2013-09-04 03:30:41 +00:00
aa3bea133a
Fix a possible bug in knife detected by coverity.
...
A selection copy may have been passed a null pointer.
Also quieted a couple other complaints by coverity.
2013-09-03 11:37:47 +00:00
e8605f9df9
quiet compiler warnings
2013-08-30 16:52:54 +00:00
86f8470a5d
Some knife fixes. Avoids duplicating verts; better handling of cut-through ortho.
...
Now cut lines detect vertices that they pass (almost) exactly over
and snap to them, to avoid making verts vert close to other ones.
Added radius arg to BKE_bmbvh_ray_cast so that can detect an obscuring
face when the ray might otherwise go exactly between two triangles.
Needed an isect_line_tri_epsilon function for similar reason.
Fixes last part of bug #35002 . Other knife bugs still present but
getting this commit in now before continuing bug fixing.
2013-08-30 16:34:44 +00:00
8937a8b839
use BM_CREATE_NOP arg rather then zero, with pointer and bool args in either side in some cases it gets a bit confusing.
...
also correct edge-rotate where bool->flag conversion worked by accident.
2013-08-21 05:39:46 +00:00
5fafc222f0
style cleanup
2013-08-17 08:21:40 +00:00
fd14c344e0
switch arg order for BM_elem_select_copy(), would like to make this constant for all bmesh functions eventually.
2013-08-13 00:35:23 +00:00
4982f200fa
move alloca define into its own header since its not related to BLI_array
2013-07-28 10:38:25 +00:00
19496ab62a
internal bmesh api change: BM_elem_attrs_copy() no longer copies the selection flag.
...
this was slowing down modifiers since the selection flags would be copied and flushed to connected geometry.
2013-07-24 19:31:58 +00:00
58a748431e
correct cast to uintptr_t for smallhash use.
2013-05-31 00:19:38 +00:00
ec8d277c64
BLI_math rename functions:
...
- mult_m4_m4m4 -> mul_m4_m4m4
- mult_m3_m3m4 -> mul_m3_m3m4
these temporary names were used to avoid problems when argument order was switched.
2013-05-26 18:36:25 +00:00
df502ffd5f
knife tool: use faster method for sort_by_frac_along(), no need to call
...
line_point_factor_v3().
2013-05-08 12:56:31 +00:00
a2221cad15
knife tool: use the squared distance for comparison.
2013-05-08 12:56:24 +00:00
02c1e6162c
knife tool: use 2d vectors for screen coords.
2013-05-08 12:56:17 +00:00
2a78a14369
knife sort_by_frac_along was re-calculating the reference factor for every test, change to only calculate once and use line_point_factor_v3().
...
also add zero division check for line_point_factor_v3() since the 2d version already checked for this.
2013-05-03 05:57:33 +00:00
e5344adda3
fix error running ED_view3d_project_float_v3_m4 on 2d vec (thanks Sergey for pointing out!), also remove redundant vector copy in knife project.
2013-05-01 17:03:00 +00:00
36e7a98459
fix [ #35007 ] clipping border error
...
add clip option to ED_view3d_win_to_ray(), ED_view3d_win_to_segment()
2013-04-22 20:00:37 +00:00
6db3375e4f
code cleanup: removed unneeded null check in object drawing, some warnings, style.
2013-04-18 15:09:30 +00:00
8a06acfd7a
add mesh distort display mode (highlights distorted faces)
2013-04-18 04:24:18 +00:00
9cceec40c4
use modified vertex coords for calculating display thickness and intersections.
...
internal improvement to editmesh_bvh.c
- optionally pass cage-coords as an arg, rather then calculating the coords in BKE_bmbvh_new(),
since all callers already have coords calculated.
- de-duplicate coords creation function from knife and bmbvhm, move into own generic function: BKE_editmesh_vertexCos_get()
2013-04-18 01:20:04 +00:00
9f5006a967
add distance arg to BKE_bmbvh_ray_cast(). currently unused.
2013-04-16 15:16:48 +00:00
37e73aa368
code cleanup: use BKE naming conventions for functions in BKE_editmesh.h and BKE_editmesh_bvh.h
2013-04-16 05:59:48 +00:00
fa919d23bc
move editmesh_bvh.c into blenkernel.
2013-04-16 05:23:34 +00:00
afb4b65167
Random number generator: replace a bunch of usage of the global random number
...
generator with a local one. It's not thread safe and will not give repeatable
results, so in most cases it should not be used.
Also fixes #34992 where the noise texture of a displacement modifier was not
properly random in opengl animation render, because the seed got reset to a
fixed value by an unrelated function while for final render it changed each
frame.
2013-04-15 23:12:40 +00:00
da5e0ea8fe
bmesh operators: use operator type-flag to specify which operations require normal-calculations and which operations require selection flushing.
...
eg, no need to flush selection after 'Smooth' tool, no need to recalculate normals after 'Select Similar'.
2013-04-14 06:22:34 +00:00
6da961775f
code cleanup: rename BKE_tessmesh -> BKE_editmesh, rename EditDerivedBMesh.tc -> em. ('tc' is odd name which isn't used elsewhere).
2013-04-13 20:31:52 +00:00
6d8e25dfdc
code cleanup: split editmesh_tools.c, into inset, bevel (both modal operators) and moved extrude operators into their own file.
...
also move some selection operators from editmesh_tools.c into editmesh_select.c
2013-04-01 10:18:01 +00:00
e7c15beaf6
code cleanup: use booleans for mesh and selection code.
2013-03-19 23:17:44 +00:00
cb11af8b06
fix for knife tool crash when knife_make_chain_cut() couldn't create a new face.
2013-03-19 21:37:22 +00:00
a7b83837db
fix for crash when using BM_face_calc_tessellation(), its not ensured that all tris will be filled in.
...
(effected knife project and laplacian smooth).
2013-03-16 14:18:32 +00:00
6347f96f53
knife project improvements
...
When running in non-interactive mode, dont add a area draw callback or adjust the cursor, use a fixed snap value and don't use opengl lookups on faces.
Minor optimization - compare squared distances where possible.
2013-03-15 20:39:56 +00:00
433c82649e
knife project: improve selection inside/outside checks.
...
- use more accurate method to find if a face is inside projected lines.
- check faces intersect while expanding selection - in some cases this could result in the entire model being selected.
2013-03-15 19:38:42 +00:00
40bfce6616
use bool for knife, also scons tab/space mix.
2013-03-15 19:00:21 +00:00
630798ba3c
add in ifdef for WITH_LIBMV, correct own error passing float[2] as float[3]
2013-03-15 15:47:32 +00:00
1d5d8bc934
knife project:
...
- selecting faces inside the cut now works properly
- improve epsilon for detecing if faces are inside a cut (still not perfect)
2013-03-15 14:43:09 +00:00
03f02019f2
knife projection feature,
...
apart of 3d printing tools - use to cookie-cut text into a mesh.
2013-03-15 13:06:31 +00:00
d92e32e4e7
use floats for knife tool internal mouse coord.
2013-03-14 14:46:59 +00:00
8dd2464626
minor knife refactor to prepare for running non interactively.
2013-03-14 13:58:56 +00:00
1158f06b57
code cleanup: de-duplicate view clipping function for paint and knife tool, minor changes to knife initialization.
2013-03-14 07:56:40 +00:00
aaa8a13c49
code cleanup: use const events for modal and invoke operators.
2013-03-13 09:03:46 +00:00
347e2b6cb0
code cleanup: make bmesh var names more consistent
2013-03-09 17:12:24 +00:00
d9d1f8e58f
Raise a bit Header string fixed length, else some translations (e.g. Japanese) have not enough room!
2013-02-20 13:07:28 +00:00
04d628a5b5
Another huge bunch of new UI translations (some reported by Leon Cheung, thanks!)...
2013-02-19 15:45:56 +00:00
66e160d503
Fix Knife cut-through bug #34072 .
2013-02-08 13:51:29 +00:00
c30fb009cc
problem with own changes to triabgulate: calling beauty fill directly would re-allocate the faces which mean't triangulates output slots pointers became invalid. (noticed when using from py api)
2013-02-06 15:57:12 +00:00
c93e127e7a
code cleanup: style and replace (float)sin, (float)cos with sinf, cosf
2013-01-12 14:28:23 +00:00
45c453c9b1
replace inline with BLI_INLINE define.
2013-01-12 10:39:09 +00:00