public override void OnMouseDown(MouseEventArgs mouseEvent) { base.OnMouseDown(mouseEvent); if (trackballTumbleWidget.MouseCaptured) { if (trackballTumbleWidget.TransformState == TrackBallController.MouseDownType.Rotation) { trackballTumbleWidget.DrawRotationHelperCircle = true; } } int volumeHitIndex; Ray ray = trackballTumbleWidget.GetRayFromScreen(mouseEvent.Position); IntersectInfo info; if (FindInteractionVolumeHit(ray, out volumeHitIndex, out info)) { MouseEvent3DArgs mouseEvent3D = new MouseEvent3DArgs(mouseEvent, ray, info); volumeIndexWithMouseDown = volumeHitIndex; interactionVolumes[volumeHitIndex].OnMouseDown(mouseEvent3D); MouseDownOnInteractionVolume = true; } else { MouseDownOnInteractionVolume = false; } }
public Ray GetRay(double screenX, double screenY) { return(trackballTumbleWidget.GetRayFromScreen(new Vector2(screenX, screenY))); }