public OrientedPoint GetOrientedPointAtDistance(float d) { int i = GetStretchAtDistance(ref d); Stretch st = GetNStretch(i); OrientedPoint p = st.GetOrientedPointAtDistance(d); if (!IsStretchNForward(i)) { p = new OrientedPoint(p.Pos, -p.Dir); } return(p); }