protected virtual double get_slider_tx(Vector3f posW) { // assume slider is centered at origin of root node Vector3f posL = rootGO.PointToLocal(posW); float tx = (posL.x - (-SliderWidth / 2)) / SliderWidth; tx = MathUtil.Clamp(tx, 0, 1); return(tx); }