To use this class, you first configure the internal world-axis-frame using the SetActiveX() functions. Then as you collect input updates, you call UpdateSnap() with the input ray, and this will output a snapped 3D world-space point. The delta (Frame.Origin - SnapPoint) is the move axis.