// SPDX-License-Identifier: MIT // Copyright (c) 2026 Incoprea // Where two circular guides cross // Not compiled or tested in-world // Setup: Place in a spare prim. Set centers A/B and positive radii RA/RB. Owner touch prints results without altering the scene. // Stop / restore: Disable or remove. No prim properties are changed. // Notes: Coincident centers, separated circles and containment are handled. Tangency produces two equal points within numerical precision. // License: see LICENSE in this distribution. // Original Incoprea. MIT. Owner-only calculation. vector A=<0.0,0.0,0.0>; vector B=<5.0,0.0,0.0>; float RA=4.0; float RB=3.0; default { touch_start(integer detectedCount) { if (llDetectedKey(0)!=llGetOwner()) return; float distance=llVecDist(A,B); if(RA<=0.0||RB<=0.0||llFabs(A.z-B.z)>0.0001) { llOwnerSay("Use positive radii and equal Z planes."); return; } if(distance<0.000001) { llOwnerSay("Coincident centres: no unique pair."); return; } if(distance>RA+RB||distance*llSqrt(h2); llOwnerSay("Crossings "+(string)(base+side)+" and "+(string)(base-side)); } }