Julian Eisel
0a26904a75
Fix T49872: 3D cursor places with camera shift in ortographic mode
2016-12-08 12:41:27 +01:00
e1e49fd1a8
Math Lib: rotate matrix cleanup
...
- Remove 'rotate_m2', unlike 'rotate_m4' it created a new matrix
duplicating 'angle_to_mat2' - now used instead.
(better avoid matching functions having different behavior).
- Add 'axis_angle_to_mat4_single',
convenience wrapper for 'axis_angle_to_mat3_single'.
- Replace 'unit_m4(), rotate_m4()' with a single call to 'axis_angle_to_mat4_single'.
2016-11-25 16:39:34 +11:00
2465bd90d5
Cleanup: style, whitespace, doxy filepaths
2016-06-19 06:33:29 +10:00
a9cd97673d
Knife Project: revert fix for T43896
...
For now leave precision at half a pixel until we have real fix.
Resolves T48023.
2016-04-02 01:33:10 +11:00
553ea6de8b
Fix NULL check before free
2016-04-01 06:23:35 +11:00
f209529c3d
Fix T47910: Knife project fails
...
Regression in fix for T43896, using screen-space precision here is very problematic,
using lower precision here works for both reports.
2016-03-24 18:27:39 +11:00
e25ba162c0
OpenGL: call glLineWidth less often
...
Each LINES draw call is now responsible for its own line width. No need
to set it back to its 1.0 default after every draw.
This eliminates half our calls to glLineWidth , similar to last week’s
work on glPointSize.
2016-01-23 00:58:51 -05:00
90293a8da3
Math Lib: optimize segment-plane clipping
...
Calculate the clipped min/max factor along the segment,
only applying to the coordinates at the end (will give better precision too).
Also make split input/output args.
2016-01-23 13:48:31 +11:00
aa69fb64ac
Cleanup: line length, indentation
2016-01-21 09:42:17 +11:00
6fa5d22109
Fix T43896: Knife Project fails when zoomed out
...
While knife-project still uses screen-space projection,
use much lower snap thresholds when projecting.
2016-01-20 20:46:25 +11:00
88191f7fa3
BMesh: support connecting single-edge island links
...
Handle these cases by temporarily disconnecting the single links to ensure isolated islands,
then link back up after.
2015-12-17 05:13:57 +11:00
879889c47c
Correct own error in knife edge-net cutting
...
Need to ensure no duplicate edges in the array.
2015-12-15 18:44:21 +11:00
9df6a539a2
Knife: use BM_face_split_edgenet for detecting holes
...
Knife had its own code for detecting holes which worked quite well,
but would prefer to use generic bmesh API call here.
2015-12-13 03:46:36 +11:00
a28e014313
BMesh: Add API call BM_face_calc_point_in_face
...
Was local to knife code, but this is generally useful.
2015-11-27 22:08:16 +11:00
48b1656a6c
Cleanup: shadowing (editors)
2015-11-23 17:40:50 +11:00
a7ac59414b
Cleanup: rename line to segments, avoids confusion
...
Differentiate between lines and segments.
2015-11-13 07:48:05 +11:00
eb49a76dca
Cleanup: warnings
...
- remove NULL checks for args already set as ATTR_NONNULL.
- double promotion.
2015-10-17 16:06:45 +11:00
85f3b21cc8
error in last commit
2015-10-16 21:57:59 +11:00
7dc80097a4
Fix for missing id_lib_extern, assigning ID's
2015-10-16 21:53:01 +11:00
14de9a5982
Knife tool: generalize angle snapping code
...
Replace hard-coded snap angles with function that allows arbitrary snapping increments.
Currently no user visible change.
2015-10-16 04:04:45 +11:00
df1e9fac06
Fix error w/ printing knife header angle-snapping
2015-10-16 00:41:14 +11:00
741cf193f1
Knife: Improve clamping extents in ortho view
...
- measure extents from mesh center instead of origin.
- use clamping method, guaranteed not to flip the input vectors direction.
- use cage coords when available (since knife operates on the cage).
2015-09-24 13:34:26 +10:00
4493cac21a
Fix T46219: Knife cuts fail away from center
2015-09-24 03:00:52 +10:00
c727fc59ab
BVH-raycast: ensure input direction is unit-length
...
This was already the case for most users of ray-cast.
Doing this avoids 2x normalize calls per ray-cast in many places.
2015-08-21 17:09:18 +10:00
176b806626
BVH-overlap: add callback to BLI_bvhtree_overlap
...
The callback checks if 2 nodes intersect (not just their AABB).
Advantages:
- theres no need to allocate overlaps which are later ignored.
- expensive intersection tests will run multi-threaded.
Currently only used for Python API.
2015-08-20 17:52:26 +10:00
2e2dc9b9e3
Refactor translation code out of blenfont
...
- Add blentranslation `BLT_*` module.
- moved & split `BLF_translation.h` into (`BLT_translation.h`, `BLT_lang.h`).
- moved `BLF_*_unifont` functions from `blf_translation.c` to new source file `blf_font_i18n.c`.
2015-08-18 07:01:26 +10:00
52fa5b12e1
Cleanup: ws
2015-07-15 11:43:23 +10:00
f4f7348c41
Minor tweaking to Knife header text.
...
Confirm/cancel shall always be first, and also makes more sense to have
define cut/close cut/new cut together.
2015-07-12 21:52:59 +02:00
c2bcf2dc05
Add new modalkeymap usage in helper header message to Knife tool.
2015-07-12 21:32:16 +02:00
b8b57d2da9
BLI_listbase: match arg order with BLI_qsort_r
2015-06-11 21:54:06 +10:00
ec3c2d3be9
Fix T45009: Bad 'tri area computation' code in knife tool.
...
Was causing wrong selection of 'outside' face.
2015-06-10 16:35:52 +02:00
c760c0dbb3
Cleanup: use mul_v3_mat3_m4v3
2015-04-28 01:18:50 +10:00
3f80accfb3
Fix T44011: Ruler/Knife/Loop-cut fail in quad-view
...
This is a kind of sloppy-focus,
resolving long standing bug with loop-cut/knife/ruler /w quad-view.
Where activating a tool would lock onto one of quad-views,
especially problematic when activating from the toolbar or menus.
2015-04-27 19:17:07 +10:00
86d3a1f683
Cleanup
2015-04-25 12:29:52 +10:00
c2f861453e
Fix T44492: knife tool should cut across a split edge.
...
Added filter condition in visibility check that prevented
a "butting-up-against" face from obscuring an edge.
2015-04-24 07:29:45 -04:00
e2c24a18e3
Knife: fix glitch dragging mouse outside the face
...
Had a small gap between the last-vertex & new-cut
2015-03-03 09:29:44 +11:00
d2b6c6fd9b
Fix T43862: Knife fails with concave ngon
2015-03-03 00:26:20 +11:00
cfd176bcb1
MEM_SAFE_FREE caused issues /w const & GCC5
2015-02-27 15:26:22 +11:00
87dc01e690
Fix T43806: Knife project crashes
...
Need to re-create the bmbvh after executing the cut.
2015-02-27 09:53:23 +11:00
a8fa291b8c
Fix two potential bugs reported by latest coverity scan.
2015-01-19 17:51:25 +01:00
ef80914c99
error in last commit
2015-01-14 05:11:19 +11:00
a97c5d1f9f
Fix T42459: Knife fails at small scale
...
Occluding geometry failed when near overlapping (or cutting small objects).
2015-01-14 01:36:03 +11:00
b77dd13004
Fix T43229: Knife-project regression (broke knife-project)
...
There have been quite a few issues with knife precision,
tested reports (T43229, T42864, T42459, T41164) and this works with all.
2015-01-13 21:28:58 +11:00
aab4f2b762
cleanup: redundant casts & const cast correctness
2015-01-01 23:42:28 +11:00
5ea243bbec
cleanup: knife tools, use generic sort function
2014-12-27 12:37:11 +11:00
72341537e8
Fix T42864: Knife-project fails with 'cut-through'
...
Removing edge-hit-doubles could incorrectly de-duplicate intersections between different edges.
Gave noticeable errors cutting through geometry that overlapped exactly.
2014-12-15 21:17:10 +01:00
db0e2e7347
Fix T42864 (partial): knife-project included uncut backfaces
...
When knife-project ran with cut-through disabled,
it would still try to select faces behind the cut.
Now check if the faces are obscured.
2014-12-15 15:10:49 +01:00
2329b58fd3
Fix T42864 (partial): Knife-project had too-low precision
2014-12-15 15:10:49 +01:00
17f0a01a56
Correct last commit checking knife edges
2014-12-09 20:57:37 +01:00
6fb1e1680b
Knife: cuts along existing edges are now selected
...
This means cuts along existing edges don't have gaps in the selection.
Fixes T42616
2014-12-09 19:51:08 +01:00