public void MouseMove(PickData pickData, IChartEventArgCapturable chartEventArg) { chartEventArg.Capture(); Vector3F currentLocation = GetPosition(pickData.RenderData); Vector3F crossPoint = chartEventArg.CrossWithLookAtPlane(chartEventArg.InteractorEventArg.RelativeLocation); Vector3F diff = crossPoint - prevCrossPoint; SetPosition(pickData.RenderData, currentLocation + diff); prevCrossPoint = crossPoint; }
public void MouseMove(PickData pickData, IChartEventArgCapturable chartEventArg) { chartEventArg.Capture(); Vector3F currentLocation = pickData.RenderData.Transform.GetTranslation(); Vector3F crossPoint = chartEventArg.CrossWithLookAtPlane(chartEventArg.InteractorEventArg.RelativeLocation); Vector3F diff = crossPoint - prevCrossPoint; pickData.RenderData.Transform = pickData.RenderData.Transform.WithNewTranslation(currentLocation + diff); prevCrossPoint = crossPoint; }