Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Lucke <jacques@blender.org>2022-02-23 18:56:27 +0300
committerJacques Lucke <jacques@blender.org>2022-02-23 18:56:27 +0300
commit226f0c4fef7e7792c16458cd3e456b169ddce918 (patch)
tree25c9a8214b66bbb06e86e0953189bb303e561323 /source/blender/blenlib/intern/math_geom.c
parent120f16fa1f1efd3cbb4da191d2912e0a6ce3ea59 (diff)
Curves: initial brush implementations for curves sculpt mode
The main goal here is to add the boilerplate code to make it possible to add the actual sculpt tools more easily. Both brush implementations added by this patch are meant to be prototypes which will be removed or refined in the coming weeks. Ref T95773. Differential Revision: https://developer.blender.org/D14180
Diffstat (limited to 'source/blender/blenlib/intern/math_geom.c')
-rw-r--r--source/blender/blenlib/intern/math_geom.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/source/blender/blenlib/intern/math_geom.c b/source/blender/blenlib/intern/math_geom.c
index f96c80185b1..bc3ed099fd5 100644
--- a/source/blender/blenlib/intern/math_geom.c
+++ b/source/blender/blenlib/intern/math_geom.c
@@ -903,6 +903,18 @@ float dist_squared_to_projected_aabb_simple(const float projmat[4][4],
/** \} */
+float dist_seg_seg_v2(const float a1[3], const float a2[3], const float b1[3], const float b2[3])
+{
+ if (isect_seg_seg_v2_simple(a1, a2, b1, b2)) {
+ return 0.0f;
+ }
+ const float d1 = dist_squared_to_line_segment_v2(a1, b1, b2);
+ const float d2 = dist_squared_to_line_segment_v2(a2, b1, b2);
+ const float d3 = dist_squared_to_line_segment_v2(b1, a1, a2);
+ const float d4 = dist_squared_to_line_segment_v2(b2, a1, a2);
+ return sqrtf(min_ffff(d1, d2, d3, d4));
+}
+
void closest_on_tri_to_point_v3(
float r[3], const float p[3], const float v1[3], const float v2[3], const float v3[3])
{