+ if (inline) {
+ Vector3d i1 = new Vector3d();
+ Vector3d i2 = new Vector3d();
+
+ double mu[] = new double[2];
+ MathTools.intersectStraightStraight(p, dir, ray.pos, ray.dir, i2, i1, mu);
+
+ Vector3d t = MathTools.closestPointOnEdge(i1, s, e);
+ return t;
+ } else {
+ return super.getTranslate(x, y, offset);
+ }
+
+ }