Changeset View
Changeset View
Standalone View
Standalone View
source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
| Show First 20 Lines • Show All 573 Lines • ▼ Show 20 Lines | static int lineart_point_on_line_segment(double v[2], double v0[2], double v1[2]) | ||||
| if (!LRT_DOUBLE_CLOSE_ENOUGH(v1[0], v0[0])) { | if (!LRT_DOUBLE_CLOSE_ENOUGH(v1[0], v0[0])) { | ||||
| c1 = ratiod(v0[0], v1[0], v[0]); | c1 = ratiod(v0[0], v1[0], v[0]); | ||||
| } | } | ||||
| else { | else { | ||||
| if (LRT_DOUBLE_CLOSE_ENOUGH(v[0], v1[0])) { | if (LRT_DOUBLE_CLOSE_ENOUGH(v[0], v1[0])) { | ||||
| c2 = ratiod(v0[1], v1[1], v[1]); | c2 = ratiod(v0[1], v1[1], v[1]); | ||||
| return (c2 >= -DBL_TRIANGLE_LIM && c2 <= 1 + DBL_TRIANGLE_LIM); | return (c2 >= -DBL_TRIANGLE_LIM && c2 <= 1 + DBL_TRIANGLE_LIM); | ||||
| } | } | ||||
| else { | |||||
| return false; | return false; | ||||
| } | } | ||||
| } | |||||
| if (!LRT_DOUBLE_CLOSE_ENOUGH(v1[1], v0[1])) { | if (!LRT_DOUBLE_CLOSE_ENOUGH(v1[1], v0[1])) { | ||||
| c2 = ratiod(v0[1], v1[1], v[1]); | c2 = ratiod(v0[1], v1[1], v[1]); | ||||
| } | } | ||||
| else { | else { | ||||
| if (LRT_DOUBLE_CLOSE_ENOUGH(v[1], v1[1])) { | if (LRT_DOUBLE_CLOSE_ENOUGH(v[1], v1[1])) { | ||||
| c1 = ratiod(v0[0], v1[0], v[0]); | c1 = ratiod(v0[0], v1[0], v[0]); | ||||
| return (c1 >= -DBL_TRIANGLE_LIM && c1 <= 1 + DBL_TRIANGLE_LIM); | return (c1 >= -DBL_TRIANGLE_LIM && c1 <= 1 + DBL_TRIANGLE_LIM); | ||||
| } | } | ||||
| else { | |||||
| return false; | return false; | ||||
| } | } | ||||
| } | |||||
| if (LRT_DOUBLE_CLOSE_ENOUGH(c1, c2) && c1 >= 0 && c1 <= 1) { | if (LRT_DOUBLE_CLOSE_ENOUGH(c1, c2) && c1 >= 0 && c1 <= 1) { | ||||
| return 1; | return 1; | ||||
| } | } | ||||
| return 0; | return 0; | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 3,950 Lines • Show Last 20 Lines | |||||